WCF 封裝傳輸協定、訊息編碼、WS-* 協定集合為綁定,將應用程式模型與通道模型解耦。開發者直接選擇適用綁定調整屬性,無需處理千種組合複雜度。Aaron Skonnard 架構圖:

每個綁定包含:
自訂綁定建立通道監聽器範例:
var bindingElements = new BindingElement[2];
bindingElements[0] = new TextMessageEncodingBindingElement();
bindingElements[1] = new HttpTransportBindingElement();
var binding = new CustomBinding(bindingElements);
var listener = binding.BuildChannelListener<IReplyChannel>(
new Uri("https://localhost:8080/ChannelApp"), new BindingParameterCollection());
listener.Open();
var channel = listener.AcceptChannel();
channel.Open();
// 接收/回覆訊息迴圈...
<basicHttpBinding>
<binding name="myBindingConfiguration" messageEncoding="Mtom">
<security mode="Message" />
</binding>
</basicHttpBinding>
var binding = new BasicHttpBinding();
binding.Security.Mode = BasicHttpSecurityMode.Message;
binding.Security.Message.ClientCredentialType = BasicHttpMessageCredentialType.Certificate;
binding.MessageEncoding = WSMessageEncoding.Mtom;
var binding = new BasicHttpBinding { /* 設定屬性 */ };
var customBinding = new CustomBinding(binding);
var elements = binding.CreateBindingElements(); // 取得元素集合
綁定細節透過 WSDL + WS-Policy 公開,雙方達成通訊協議。以 BasicHttpBinding + MTOM 為例:
soap:binding transport="https://schemas.xmlsoap.org/soap/http" 公開 HTTP 傳輸wsoma:OptimizedMimeSerialization 宣告 MTOM 編碼綁定是 WCF 通訊細節的封裝入口,支援組態/程式碼雙重配置,並透過中繼資料實現跨平台互操作。下篇將深入綁定元素內建類型與自訂開發。