|
系列文章導航:
WCF從理論到實踐(16):操作重載(帶視頻+ppt+源碼)
WCF從理論到實踐(17):OO大背離(帶視頻+ppt+源碼)
本文的出發點:
通過閱讀本文,您能了解以下知識:
- WCF中的Binding是什么?
- Binding的組成?
- Binding Element 的分類?
- Binding描述了那些層面的信息?
- 選擇正確的Binding
本文適合的讀者:
本文適合WCF的初學者
WCF中的Binding是什么?
在弄清Binding是什么之前,我們先看一下WCF的中的Endpoint結構,一個Endpoint就類似于xml web service中的一個asmx文件,它包括三個組成部分1)Address 2) Binding 3) Contract,此三者被稱為組成Endpoint的"ABC",下圖闡述了Endpoint的組成結構:
ABC分別解決了Endpoint的如下問題:
A解決了Endpoint在哪的問題,也就是"Where is the endpoint?"
B 解決的是如何與Endpoint通訊的問題,也就是"How to communicate with endpoint?"
C解決了Endpoint提供什么功能的問題,也就是"What functionalities do the endpoint provide?"
上面的兩篇文章WCF從理論到實踐三:八號當鋪之黑色契約和WCF從理論到實踐四:路在何方分別闡述了Contract和Address,本文著重討論Binding, Binding實現的是在客戶端和服務端進行通訊的底層細節,包括數據如何傳輸(比如采用Tcp,Http等),如何解決安全問題(SSL,Message Level Security等),傳輸的消息的格式(如text/xml,MTOM,binary等)。
Binding的組成?
Binding包括三個組成部分:NameSpace,Name和BindingElement,如下圖所示:
Name和NameSpace是服務元數據(meta date)的唯一標志,換句話說,二者就像Binding的姓名一樣,而BindingElement則描述Binding的特征,我們說Binding能解決通訊方式的問題,關鍵是靠BindingElement來進行描述。
Binding Element 的分類
Binding Element中最核心的組成部分,它分為以下三種類型
- Encoding Binding Element:它用于描述傳輸數據的編碼方式,比如用text/xml進行編碼,用binary編碼,用MTOM進行編碼都是在這個上面定義,每個Binding Element必須包含一個Encoding Binding Element。
- Transport Binding Element:它用于描述數據的傳輸方式,例如使用tcp進行傳輸,還是用http進行傳輸,還是用msmq,這些都是由Transport Binding Element來定
NET技術:WCF從理論到實踐(5):Binding細解,轉載需保留來源!
鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。