WCF—Binding

Binding描述了哪些層面的信息

一個Binding包含着豐富的信息,每種信息都描述了服務端和客戶端交互過程中的一方面,如下表所示,Binding描述了這些層面的信息:

層次

備註說明

Transactions(事務)

TransactionFlowBindingElement,用於指定事務流程

Reliability(信賴)

ReliableSessionBindingElement,用於指定對會話方式

Security(安全)

SecurityBindingElement,指定安全方式

Encoding(編碼)

Text, Binary, MTOM, Custom,指定數據傳輸格式

Transport(傳輸)

TCP, Named Pipes, HTTP, HTTPS, MSMQ, Custom,指定傳輸方式

 

選擇正確的Binding

Binding是可以自定義實現的,可WCF框架已經爲我們實現了足夠多的Binding,供我們來選擇,

如下表所示:

Binding名稱

Configuration Element

描述

BasicHttpBinding

basicHttpBinding

一個指定用符合基本網絡服務規範通訊的binding,它用http進行傳輸,數據格式爲text/xml

WSHttpBinding

wsHttpBinding

一個安全的通用的binding,但它不能在deplex中使用

WSDualHttpBinding

wsDualHttpBinding

一個安全的通用的binding,但能在deplex中使用

WSFederationHttpBinding

wsFederationHttpBinding

一個安全的通用的支持WSFbinding,能對用戶進行驗證和授權

NetTcpBinding

netTcpBinding

wcf應用程序中最適合跨機器進行安全通訊的binding

NetNamedPipeBinding

netNamedPipeBinding

wcf應用程序中最適合本機進行安全通訊的binding

NetMsmqBinding

netMsmqBinding

wcf應用程序中最適合跨機器進行安全通訊的binding,並且支持排隊

NetPeerTcpBinding

netPeerTcpBinding

一個支持安全的,多機交互的binding

MsmqIntegrationBinding

msmqIntegrationBinding

一個用於wcf與現有msmq程序進行安全通訊的binding

 

下面的表格分別刪除了上表中的Binding在互操作性(Interoperability)安全性(Security)是否支持會話(Session)是否支持事務(Transactions)和是否爲全雙工(Duplex)上不同。

 

 

Bingding

Interoperability

Security

Session

Transactions

Duplex

BasicHttpBinding

Basic Profile 1.1

(None), Transport, Message

None, (None)

None

n/a

WSHttpBinding

WS

Transport, (Message), Mixed

(None), Transport, Reliable Session

(None), Yes

n/a

WSDualHttpBinding

WS

(Message)

(Reliable Session)

(None), Yes

Yes

WSFederationHttpBinding

WS-Federation

(Message)

(None), Reliable Session

(None), Yes

No

NetTcpBinding

.NET

(Transport), Message

Reliable Session, (Transport)

(None), Yes

Yes

NetNamedPipeBinding

.NET

(Transport)

None, (Transport)

(None), Yes

Yes

NetMsmqBinding

.NET

Message, (Transport), Both

(None)

(None), Yes

No

NetPeerTcpBinding

Peer

(Transport)

(None)

(None)

Yes

MsmqIntegrationBinding

MSMQ

(Transport)

(None)

(None), Yes

n/a

 

·BasicHttpBinding: 最簡單的綁定類型,通常用於 Web Services。使用 HTTP 協議,Text/XML 編碼方式。
·WSHttpBinding: 比 BasicHttpBinding 更加安全,通常用於 non-duplex 服務通訊。
·WSDualHttpBinding: 和 WSHttpBinding 相比,它支持 duplex 類型的服務。
·WSFederationHttpBinding: 支持 WS-Federation 安全通訊協議。
·NetTcpBinding: 效率最高,安全的跨機器通訊方式。
·NetNamedPipeBinding: 安全、可靠、高效的單機服務通訊方式。
·NetMsmqBinding: 使用消息隊列在不同機器間進行通訊。
·NetPeerTcpBinding: 使用 P2P 協議在多機器間通訊。
·MsmqIntegrationBinding: 使用現有的消息隊列系統進行跨機器通訊。如 MSMQ。



傳輸方式:




僅作參考。

http://www.cnblogs.com/jillzhang/archive/2008/02/03/1063406.html

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章