當其中一個系統提供的系結不符合您服務的需求時,您可以使用 CustomBinding 類別。 所有系結都是從一組已排序的綁定項建構而成。 自定義系結可以從一組系統提供的綁定項建置,也可以包含使用者定義的自定義綁定項。 例如,您可以使用自定義綁定項,在服務端點使用新的傳輸或編碼器。 如需運作範例,請參閱 自定義系結範例。 如需詳細資訊,請參閱 <customBinding>。
自定義系結的建構
自定義系結是使用 CustomBinding 系結元素集合的建構函式來建構,這些綁定項會依特定順序「堆棧」:
頂端是允許流動交易的選擇性 TransactionFlowBindingElement 類別。
接下來是選擇性 ReliableSessionBindingElement 類別,提供 WS-ReliableMessaging 規格中所定義的會話和排序機制。 會話可以跨SOAP和傳輸媒介。
接下來是選擇性 SecurityBindingElement 類別,提供授權、驗證、保護和機密性等安全性功能。
接下來是選擇性 CompositeDuplexBindingElement 類別,可讓您使用原生不支援雙工通訊的傳輸通訊協議進行雙向雙工通訊,例如 HTTP。
接下來是選擇性的 OneWayBindingElement)類別,可提供單向通訊。
接下來是選擇性的數據流安全性綁定項,可以是下列其中一項。
接下來是必要的訊息編碼綁定元素。 您可以使用自己的訊息編碼器或三個訊息編碼系結的其中一個:
底部是必需的傳輸元素。 您可以使用自己的傳輸層,或者選擇由 Windows Communication Foundation(WCF)提供的下列其中一個傳輸綁定元素:
下表摘要說明每個圖層的選項。
| 層 | 選項 | 為必填項目 |
|---|---|---|
| 交易 | TransactionFlowBindingElement | 否 |
| 可靠性 | ReliableSessionBindingElement | 否 |
| 安全 | SecurityBindingElement | 否 |
| 編碼 | 文字,二進位,訊息傳輸優化機制(MTOM),自定義 | 是的 |
| 運輸 | TCP、HTTP、HTTPS、命名管道(也稱為 IPC)、點對點 (P2P)、消息佇列(也稱為 MSMQ)、自定義 | 是的 |
此外,您可以定義自己的綁定項,並在上述任何定義的層次之間插入它們。