WCF 定義了5中經常使用的綁定。安全
一. 綁定性能
1.基本綁定:優化
對應於BasicHttpBinding類。基本綁定可以將WCF服務公開爲傳統的ASMX Web服務,使得原客戶端可以與新的服務協做。若是客戶端使用了基本綁定,那麼新的WCF客戶端就可以與原ASMX服務協做。基本綁定使得服務看起來像是一個傳統的Web服務,可以基於基本的Web服務信息進行通訊。當客戶端使用綁定時,該綁定容許新的WCF客戶端與原ASMX服務協做。編碼
2.TCP綁定:spa
對應於NetTcpBinding類。TCP綁定使用TCP協議實如今Intranet中跨機器的通訊,支持多種特性,包括可靠性、事務性、安全性,以及WCF之間通訊的優化。前提是要求客戶端與服務端都必須使用WCF。blog
3.IPC綁定:隊列
對應於NetNamedPipeBinding類。它使用命名管道爲同一機器通訊進行傳輸。這種綁定方式最安全,由於它不能接受來自機器外部的調用。IPC綁定支持的特性與TCP綁定支持的特性類似,它同時也是性能最佳的綁定,由於IPC協議比TCP協議更加的簡單。事務
4.Web服務(WS)綁定:ip
對應於WSHttpBinding類。WS綁定使用HTTP或HTTPS進行傳輸,爲基於Internet的通訊提供多種特性,如可靠性、事務性、安全性,這些特性均遵循WS-*標準。ci
該綁定用來與自持WS-*標準的系統進行交互操做。
5.MSMQ綁定:
對應於NetMsmqBinding類。它使用MSMQ進行傳輸,用於支持斷開的隊列調用。
二. 格式和編碼
每種標準綁定使用的傳輸協議與編碼格式都不相同,每種綁定均可以使用一種或者多種編碼,默認的編碼格式以下:
Name | Transmission Protocol | Encoding Type | Interoperability |
BasicHttpBinding | HTTP/HTTPS | Text,MTOM | Yes |
NetTcpBinding | TCP | Binary | No |
NetNamedPipeBinding | IPC | Binary | No |
WSHttpBinding | HTTP/HTTPS | Text, MTOM | Yes |
NetMsmqBinding | MSMQ | Binary | No |
文本編碼格式一般容許WCF服務(客戶端)可以經過HTTP協議與其餘服務(客戶端)通訊,而不用考慮它所使用的技術以及通訊傳輸的範圍。二進制編碼格式經過TCP、IPC或MSMQ能夠得到最佳的性能,但它是以犧牲互操做性爲代價的,由於它只支持WCF到WCF的通訊,即TCP、IPC和MSMQ綁定一般不要求有互操做性。
三. 選擇綁定