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