設定系統提供的繫結
在與端點對話時,繫結會指定要使用的通訊機制,並指出如何連接至端點。 繫結包含的項目定義了 Windows Communication Foundation (WCF) 通道的分層處理方式,以提供所需通訊功能。 繫結包含三種項目型別:
通訊協定通道繫結項目,可決定要與傳送至端點的訊息搭配使用的安全性、可靠性、內容流量設定,或是使用者定義的通訊協定。
傳輸通道繫結項目,則決定了在傳送訊息給端點時要使用的基礎傳輸通訊協定,例如 TCP 或 HTTP。
訊息編碼繫結項目,對於傳送至端點的訊息來說,這些項目決定了要使用的 Wire 編碼,例如,文字/XML、二進位,或是訊息傳輸最佳化機制 (MTOM)。
本主題提供所有系統提供的 Windows Communication Foundation (WCF) 繫結。 如果這些項目都不能完全符合應用程式的需求,您可以使用 CustomBinding 類別來建立繫結程序。 如需建立自訂繫結的詳細資訊,請參閱自訂繫結。
重要
請選取啟用了安全性的繫結。 根據預設,除了 BasicHttpBinding 繫結之外,所有繫結都會啟用安全性。 如果您沒有選取安全繫結或是停用了安全性,請務必透過其他方式來保護您的網路交換,例如儲存在安全的資料中心或是另外放在隔離的網路上。
重要
請勿使用不支援安全性或已停用安全性的繫結程序來搭配雙工合約一起使用,除非您能夠以其他方式來保護網路交換的安全。
系統提供的繫結
下列是隨附於 WCF 的繫結。
繫結 | 組態元素 | 描述 |
---|---|---|
BasicHttpBinding | <basicHttpBinding> | 適合用來與 WS-Basic Profile 相容之 Web 服務通訊的繫結,例如,以 ASP.NET Web 服務 (ASMX) 為基礎的服務。 此繫結使用 HTTP 做為傳輸,並使用文字/XML 做為預設的訊息編碼。 |
WSHttpBinding | <wsHttpBinding> | 適用在非雙工服務合約上的安全且互通的繫結。 |
WS2007HttpBinding | <ws2007HttpBinding> | 安全且互通的繫結,可針對 Security、ReliableSession 與 TransactionFlow 繫結項目提供正確的版本支援。 |
WSDualHttpBinding | <wsDualHttpBinding> | 安全且互通的繫結,適用於雙工服務合約或透過 SOAP 媒介的通訊。 |
WSFederationHttpBinding | <wsFederationHttpBinding> | 安全、互通,且可支援 WS-Federation 通訊協定的繫結,此繫結可讓聯合組織有效率地驗證並授權使用者。 |
WS2007FederationHttpBinding | <ws2007FederationHttpBinding> | 衍生自 WS2007HttpBinding 且支援聯合安全性的安全、可互通的繫結。 |
NetTcpBinding | <netTcpBinding> | 安全且最佳化的繫結,適用於 WCF 應用程式之間的跨電腦通訊。 |
NetNamedPipeBinding | <netNamedPipeBinding> | 安全、可靠且最佳化的繫結,適用於 WCF 應用程式之間的電腦通訊。 |
NetMsmqBinding | <netMsmqBinding> | 佇列繫結,適用於 WCF 應用程式之間的跨電腦通訊。 |
NetPeerTcpBinding | <netPeerTcpBinding> | 可啟用安全、多電腦通訊的繫結。 |
WebHttpBinding | <webHttpBinding> | 用於設定 WCF Web 服務端點的繫結,這些服務的公開會透過 HTTP 要求,而非 SOAP 訊息。 |
MsmqIntegrationBinding | <msmqIntegrationBinding> | 繫結,適用於 WCF 應用程式與現有訊息佇列 (亦稱為 MSMQ) 應用程式之間的跨電腦通訊。 |
繫結功能
下表說明每一個系統提供繫結所提供的一些重要功能。 繫結將列在第一欄,而有關功能的資訊則會在表格中說明。 下表將說明使用的繫結縮寫。 若要選取繫結,請決定哪一欄可滿足所有您需要的資料列功能。
繫結 | 互通性 | 安全性模式 (預設值) | 會議 (預設值) |
交易 | 雙工 |
---|---|---|---|---|---|
BasicHttpBinding | Basic Profile 1.1 | (無)、傳輸、訊息、混合 | 無、(無) | (無) | n/a |
WSHttpBinding | WS | 無、傳輸、(訊息)、混合 | (無)、傳輸、可靠工作階段 | (無)、是 | n/a |
WS2007HttpBinding | WS-Security、WS-Trust、WS-SecureConversation、WS-SecurityPolicy | 無、傳輸、(訊息)、混合 | (無)、傳輸、可靠工作階段 | (無)、是 | n/a |
WSDualHttpBinding | WS | 無、(訊息) | (可靠工作階段) | (無)、是 | Yes |
WSFederationHttpBinding | WS-同盟 | 無、(訊息)、混合 | (無)、可靠工作階段 | (無)、是 | No |
WS2007FederationHttpBinding | WS-同盟 | 無、(訊息)、混合 | (無)、可靠工作階段 | (無)、是 | No |
NetTcpBinding | .NET | 無、(傳輸)、訊息、 混合 |
可靠工作階段、(傳輸) | (無)、是 | Yes |
NetNamedPipeBinding | .NET | 無、 (傳輸) |
無、(傳輸) | (無)、是 | Yes |
NetMsmqBinding | .NET | 無、訊息、(傳輸)、兩者 | (無) | (無)、是 | No |
NetPeerTcpBinding | 對等 | 無、訊息、(傳輸)、混合 | (無) | (無) | Yes |
WebHttpBinding | .Net | None、Transport、TransportCredentialOnly | (無) | (無) | n/a |
MsmqIntegrationBinding | MSMQ | 無、(傳輸) | (無) | (無)、是 | n/a |
下表說明上一個表格中的各項功能。
功能 | 描述 |
---|---|
互通性類型 | 表示繫結一定可與其互通的通訊協定或技術。 |
安全性 | 指定保護通道的方式: - 無:SOAP 訊息未受保護,且用戶端也未經過驗證。 - 傳輸:已滿足傳輸層的安全性需求。 - 訊息:已滿足訊息層的安全性需求。 - 混合:此安全性模式亦稱為 TransportWithMessageCredentials 。 它負責處理訊息層級的認證,而完整性和機密性需求則交由傳輸層負責。- 兩者:將會同時使用訊息層級與傳輸層級安全性。 這項能力是 NetMsmqBinding 所獨有的。 |
會議 | 指定此繫結是否支援工作階段合約。 |
交易 | 指定是否已啟用異動。 |
雙工 | 指定是否支援雙工合約。 請注意,此功能需要繫結對工作階段的支援。 |
串流 | 指定是否支援訊息資料流。 |