當系統提供的某個綁定不符合服務的要求時,可以使用 CustomBinding 類。全部綁定都是從綁定元素的有序集構造而來的。自定義綁定能夠從一組系統提供的綁定元素生成,也能夠包含用戶定義的自定義綁定元素。例如,可使用自定義綁定元素在服務終結點處使用新的傳輸或編碼器。有關可運行示例,請參見Custom Binding Samples。有關更多信息,請參見 <customBinding>.數據庫
自定義綁定的構造
自定義綁定是使用 CustomBinding 構造函數並經過「堆疊」在一塊兒的綁定元素的集合構造的,這些元素的特定順序以下:編程
- 最頂層是一個容許流事務的可選 TransactionFlowBindingElement 類。
- 接下來是一個可選的 ReliableSessionBindingElement 類,它提供了 WS-ReliableMessaging 規範中定義的會話和排序機制。會話可經過 SOAP 和傳輸中介。
- 接下來是一個可選的 SecurityBindingElement 類,它提供了受權、身份驗證、保護和機密性等安全功能。
- 接下來是一個可選的 CompositeDuplexBindingElement 類,它提供了經過自己不支持雙工通訊的傳輸協議(例如 HTTP)進行雙向雙工通訊的功能。
- 接下來是一個可選的 OneWayBindingElement 類,它提供了單向通訊。
- 接下來是一個可選的流安全綁定元素,它能夠是如下元素之一。
- 接下來是一個必需的消息編碼綁定元素。可使用本身的消息編碼器或者如下三種消息編碼綁定之一:
底層是一個必需的傳輸元素。可使用本身的傳輸,或者使用 Windows Communication Foundation (WCF) 提供的如下傳輸綁定元素之一:windows
- TcpTransportBindingElement
- HttpTransportBindingElement
- HttpsTransportBindingElement
- NamedPipeTransportBindingElement
- PeerTransportBindingElement
- MsmqTransportBindingElement
- MsmqIntegrationBindingElement
- ConnectionOrientedTransportBindingElement
下表總結了每層的選項。安全
層 | 選項 | 必需 |
---|---|---|
事務網絡 |
TransactionFlowBindingElementsession |
否app |
可靠性tcp |
ReliableSessionBindingElementide |
否函數 |
安全 |
SecurityBindingElement |
否 |
編碼 |
文本、二進制、消息傳輸優化機制 (MTOM)、自定義 |
是 |
傳輸 |
TCP、HTTP、HTTPS、命名管道(也稱爲 IPC)、對等 (P2P)、消息隊列(也稱爲 MSMQ)、自定義 |
是 |
此外,能夠定義本身的綁定元素,並將它們插在前面定義的任何層之間。