天天看點

WCF 綁定(Binding)

綁定包含多個綁定元素 ,它 們描述了所有綁定要求 。可以建立自定義綁定 ,也可以使用下表中的其中一個預定義綁定 :

WCF 綁定(Binding)

不同的綁定支援不同的功能。以ws開頭的綁定獨立于平台 ,支援 web服務規範。

以 net開 頭的綁定使用二進制格式,使net應用程式之間的通信有很高的性能。

其他功能支援會話、可靠的會話、事務和雙工通信。下表列出了支援這些功能的綁定 。

WCF 綁定(Binding)
WCF 綁定(Binding)
WCF 綁定(Binding)
WCF 綁定(Binding)
WCF 綁定(Binding)
WCF 綁定(Binding)
WCF 綁定(Binding)

綁定可指定在與終結點通話時所使用的通信機制,并訓示如何連接配接到終結點。

綁定包含以下元素:

協定堆棧确定用于發送到終結點的消息的安全性、可靠性和上下文流設定。

傳輸确定将消息發送到終結點時使用的基礎傳輸協定,例如 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">&lt;basichttpbinding&gt;</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">&lt;wshttpbinding&gt;</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">&lt;wsdualhttpbinding&gt;</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">&lt;wsfederationhttpbinding&gt;</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">&lt;nettcpbinding&gt;</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">&lt;netnamedpipebinding&gt;</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">&lt;netmsmqbinding&gt;</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">&lt;netpeertcpbinding&gt;</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">&lt;msmqintegrationbinding&gt;</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">&lt;basichttpcontextbinding&gt;</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">&lt;nettcpcontextbinding&gt;</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">&lt;webhttpbinding&gt;</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">&lt;wshttpcontextbinding&gt;</a>

一個安全且可互操作的綁定,适用于允許使用 soap 标頭交換上下文的非雙工服務協定。

整理自:《c#進階程式設計》與《wcf服務程式設計》