WCF常用綁定選擇


 

一、五種常用綁定常用綁定的傳輸協議以及編碼格式

名稱 傳輸協議 編碼格式 互操作性
BasicHttpBinding HTTP/HTTPS Text,MTOM Yes
NetTcpBinding TCP Binary No
NetNamedPipeBinding IPC Binary No
WSHttpBinding HTTP/HTTPS Text,MTOM Yes
NetMsmqBinding MSMQ Binary

No

 

 

 

 

 

 

 

1、基本綁定(BasicHttpBinding)

對應BasicHttpBinding類,能夠將WCF服務公開為傳統的ASMX Web服務,是以前就的程序能夠使用現在的WCF服務。在實際開發中一個WCF服務可能會給不同的程序調用,如給Java的程序調用,給Flex的程序調用等,那么采用BasicHttpBinding最合適不過了

2、TCP綁定(NetTcpBinding)

對應與NetTcpBinding類,TCP綁定使用TCP協議在Intranet中跨機器的通信,注意這里是Intranet而非Internet。支持多種特性,包括可靠性、事務性、安全性、以及WCF之間通信的優化。前提是要求客戶端與服務端都必須使用WCF

3、IPC綁定(NetNamedPipeBinding)

對應於NetNamedPipeBinding累,使用命名管道為同一機器通信進行傳輸,安全性最高,因為不能接收其它機器的外部調用。IPC協議綁定與TCP協議綁定相似,也是性能最好的綁定,因為IPC協議比TCP協議更簡單

4、Web服務(WS)綁定(WSHttpBinding)

對應於WSHttpBinding類,WS綁定使用Http或Https進行傳輸。為基於Internet的通信提供了多種特性(可靠性、事務性、安全性),遵循WS-*標准。該綁定用來與支持WS-*標准的系統進行互操作

5、MSMQ綁定(NetMsmqBinding)

對應於NetMsmqBinding類,它使用MSMQ進行傳輸,用於支持斷開的隊列調用

注:二進制編碼格式使用TCP、IPC、MSMQ可以獲取最佳性能,但是它是以犧牲互操作性為代價,因為它只支持WCF到WCF的通信

 

二、選擇綁定

首先考慮服務是否要與非WCF的客戶端交互,如果需要,判斷客戶端期望調用基本Web協議(ASMX Web)就選BasicHttpBinding,否則就選WSHttpBinding,該綁定支持WS-*標准。

WCF到WCF的考慮是否需要脫機或斷開狀態下的交互,如果需要就選擇NetMsmqBinding。此外在判斷是否需要跨機器調用,如果需要就選擇NetTcpBinding,否則就選擇NetNamedPipeBinding

 

三、其他集中不是很常用的綁定

1、WS雙向綁定

對應於WSDualHttpBinding類,與WS綁定幾乎一樣,不過它支持雙向通信。由於沒有支持回調的行業標准,所以不支持互操作性。在.NET服務總線以及NetTcpRelayBinding出現后,不再推薦使用

2、對等網絡綁定

對應於NetPeerTcpBinding類,它使用對等網絡來傳輸消息:使用對等網絡與客戶端可以訂閱的相同網格,並且廣播消息。設計網絡拓撲與網絡計算

3、聯邦WS綁定

對應於WSFederationHttpBinding類,主要是支持聯邦安全

4、聯邦WS 2007綁定

對應於WS2007FederationHttpBinding類,為WSFederationHttpBinding的更新版本

5、MSMQ集成綁定

對應於MsmqIntegrationBinding類,支持消息隊列的綁定,MSMQ集成綁定可以將WCF消息轉化為MSMQ消息,它的設計目標就是為了與MSMQ客戶端交互

6、WS 2007綁定

對應於WS2007HttpBinding類,繼承與WSHttpBinding類,添加了對於事務、安全、可靠性規范的支持

 

轉自:http://blog.csdn.net/dingxingmei/article/details/13772121


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM