綁定包含多個綁定元素 ,它 們描述了所有綁定要求 。可以建立自定義綁定 ,也可以使用下表中的其中一個預定義綁定 :
不同的綁定支援不同的功能。以ws開頭的綁定獨立于平台 ,支援 web服務規範。
以 net開 頭的綁定使用二進制格式,使net應用程式之間的通信有很高的性能。
其他功能支援會話、可靠的會話、事務和雙工通信。下表列出了支援這些功能的綁定 。
綁定可指定在與終結點通話時所使用的通信機制,并訓示如何連接配接到終結點。
綁定包含以下元素:
協定堆棧确定用于發送到終結點的消息的安全性、可靠性和上下文流設定。
傳輸确定将消息發送到終結點時使用的基礎傳輸協定,例如 tcp 或 http。
編碼确定用于發送到終結點的消息的網絡編碼,例如,文本/xml、二進制或消息傳輸優化機制 (mtom)。
具體的binding,功能不同,設定的屬性不同,具體參照以下
綁定
配置元素
說明
<a target="_blank" href="http://msdn.microsoft.com/zh-cn/library/system.servicemodel.basichttpbinding(v=vs.100).aspx">basichttpbinding</a>
<a target="_blank" href="http://msdn.microsoft.com/zh-cn/library/ms731361(v=vs.100).aspx"><basichttpbinding></a>
一個綁定,适用于與符合 ws-basic profile 的 web 服務(例如基于 asp.net web 服務 (asmx) 的服務)進行的通信。此綁定使用 http 作為傳輸協定,并使用文本/xml 作為預設的消息編碼。
<a target="_blank" href="http://msdn.microsoft.com/zh-cn/library/system.servicemodel.wshttpbinding(v=vs.100).aspx">wshttpbinding</a>
<a target="_blank" href="http://msdn.microsoft.com/zh-cn/library/ms731299(v=vs.100).aspx"><wshttpbinding></a>
一個安全且可互操作的綁定,适合于非雙工服務約定。
<a target="_blank" href="http://msdn.microsoft.com/zh-cn/library/system.servicemodel.wsdualhttpbinding(v=vs.100).aspx">wsdualhttpbinding</a>
<a target="_blank" href="http://msdn.microsoft.com/zh-cn/library/ms731821(v=vs.100).aspx"><wsdualhttpbinding></a>
一個安全且可互操作的綁定,适用于雙工服務協定或通過 soap 媒介進行的通信。
<a target="_blank" href="http://msdn.microsoft.com/zh-cn/library/system.servicemodel.wsfederationhttpbinding(v=vs.100).aspx">wsfederationhttpbinding</a>
<a target="_blank" href="http://msdn.microsoft.com/zh-cn/library/ms731374(v=vs.100).aspx"><wsfederationhttpbinding></a>
一個支援 ws-federation 協定的安全的、可互操作的綁定,使聯盟中的組織可以高效地對使用者進行身份驗證和授權。
<a target="_blank" href="http://msdn.microsoft.com/zh-cn/library/system.servicemodel.nettcpbinding(v=vs.100).aspx">nettcpbinding</a>
<a target="_blank" href="http://msdn.microsoft.com/zh-cn/library/ms731343(v=vs.100).aspx"><nettcpbinding></a>
一個安全且經過優化的綁定,适用于 wcf 應用程式之間跨計算機的通信。
<a target="_blank" href="http://msdn.microsoft.com/zh-cn/library/system.servicemodel.netnamedpipebinding(v=vs.100).aspx">netnamedpipebinding</a>
<a target="_blank" href="http://msdn.microsoft.com/zh-cn/library/ms731291(v=vs.100).aspx"><netnamedpipebinding></a>
一個安全、可靠且經過優化的綁定,适用于 wcf 應用程式之間計算機上的通信。
<a target="_blank" href="http://msdn.microsoft.com/zh-cn/library/system.servicemodel.netmsmqbinding(v=vs.100).aspx">netmsmqbinding</a>
<a target="_blank" href="http://msdn.microsoft.com/zh-cn/library/ms731380(v=vs.100).aspx"><netmsmqbinding></a>
一個排隊綁定,适用于 wcf 應用程式之間的跨計算機的通信。
<a target="_blank" href="http://msdn.microsoft.com/zh-cn/library/system.servicemodel.netpeertcpbinding(v=vs.100).aspx">netpeertcpbinding</a>
<a target="_blank" href="http://msdn.microsoft.com/zh-cn/library/ms731318(v=vs.100).aspx"><netpeertcpbinding></a>
一個支援多計算機安全通信的綁定。
<a target="_blank" href="http://msdn.microsoft.com/zh-cn/library/system.servicemodel.msmqintegration.msmqintegrationbinding(v=vs.100).aspx">msmqintegrationbinding</a>
<a target="_blank" href="http://msdn.microsoft.com/zh-cn/library/ms731792(v=vs.100).aspx"><msmqintegrationbinding></a>
一個适合于 wcf 應用程式和現有消息隊列應用程式之間的跨計算機通信的綁定。
<a target="_blank" href="http://msdn.microsoft.com/zh-cn/library/system.servicemodel.basichttpcontextbinding(v=vs.100).aspx">basichttpcontextbinding</a>
<a target="_blank" href="http://msdn.microsoft.com/zh-cn/library/bb924439(v=vs.100).aspx"><basichttpcontextbinding></a>
一個綁定,适用于與符合 ws-basic profile 且允許使用 http cookie 交換上下文的 web 服務進行的通信。
<a target="_blank" href="http://msdn.microsoft.com/zh-cn/library/system.servicemodel.nettcpcontextbinding(v=vs.100).aspx">nettcpcontextbinding</a>
<a target="_blank" href="http://msdn.microsoft.com/zh-cn/library/bb924421(v=vs.100).aspx"><nettcpcontextbinding></a>
一個安全且經過優化的綁定,适用于允許使用 soap 标頭交換上下文的 wcf 應用程式之間跨計算機的通信。
<a target="_blank" href="http://msdn.microsoft.com/zh-cn/library/system.servicemodel.webhttpbinding(v=vs.100).aspx">webhttpbinding</a>
<a target="_blank" href="http://msdn.microsoft.com/zh-cn/library/bb412176(v=vs.100).aspx"><webhttpbinding></a>
一個綁定,可用于為通過 http 請求(而不是 soap 消息)公開的 wcf web 服務配置終結點。
<a target="_blank" href="http://msdn.microsoft.com/zh-cn/library/system.servicemodel.wshttpcontextbinding(v=vs.100).aspx">wshttpcontextbinding</a>
<a target="_blank" href="http://msdn.microsoft.com/zh-cn/library/bb924423(v=vs.100).aspx"><wshttpcontextbinding></a>
一個安全且可互操作的綁定,适用于允許使用 soap 标頭交換上下文的非雙工服務協定。
整理自:《c#進階程式設計》與《wcf服務程式設計》