您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“WCF通道是什么”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“WCF通道是什么”吧!
首先,我們將研究一下通道的內(nèi)部機(jī)理,然后再看一下如何使用WCF類來(lái)實(shí)現(xiàn)一個(gè)通道。
什么是WCF通道
如果將服務(wù)比作人類的身體,那么通道就是我們服務(wù)的神經(jīng)系統(tǒng)。神經(jīng)系統(tǒng)擔(dān)負(fù)著從身體的各部分接受信息并傳遞給大腦的重?fù)?dān)。其中不同的感覺信息通過多路神經(jīng)以同樣的方式傳遞給大腦。和神經(jīng)系統(tǒng)類似,WCF通道建立和傳輸消息,并將這些消息從一個(gè)通道傳輸?shù)搅硪粋€(gè)通道。但和神經(jīng)系統(tǒng)不同的是,通道不是使用感覺接受器接受信息,而是通過從網(wǎng)絡(luò)上接受字節(jié)來(lái)建立信息。
有兩個(gè)通道類型:傳輸通道(Transport Channels)和協(xié)議通道(Protocol Channels)。傳輸通道負(fù)責(zé)網(wǎng)絡(luò)中的通信。而協(xié)議通道負(fù)責(zé)象數(shù)據(jù)的加密、解密的事情。通道棧中處于棧頂?shù)南⒈唤凶鯠ispatcher的一系列WCF類獲取并發(fā)送,Dispatcher將被我們創(chuàng)建并映射到我們的服務(wù)的契約(Contract)上。整個(gè)通道棧和Dispatcher的安排:
一個(gè)傳輸通道位于通道棧的***端。數(shù)據(jù)(消息)從傳輸通道開始流動(dòng),通過位于通道棧的通道集合。Dispatcher實(shí)際上是一系列類的集合。本文并不會(huì)詳細(xì)討論Dispatcher構(gòu)造,如果想詳細(xì)了解Dispatcher的情況,請(qǐng)參閱相關(guān)的WCF文檔。也許到現(xiàn)在我們可以猜到,在通道棧中的通道遠(yuǎn)比我們想象的多。而正是這些通道的存在使通道棧做著魔術(shù)般的工作。
什么是通道棧
一個(gè)通道棧由很多通道(Channels)、通道管理器(ChannelManagers)以及其他完成特殊工作的類,如將字節(jié)流轉(zhuǎn)換為消息的類。本文將主要關(guān)注一下通道和通道管理器所起的角色。
通道管理器負(fù)責(zé)建立和維護(hù)通道。通道管理器由以下兩個(gè)部分組成:
1. 通道工廠(ChannelFactories)通過一個(gè)客戶端通信系統(tǒng)來(lái)建立和管理通道。
2. 通道監(jiān)聽器(ChannelListeners)通過一個(gè)服務(wù)來(lái)建立和管理通道。
本文將關(guān)注位于WCF內(nèi)部的服務(wù),因此,我們我們將關(guān)注通道監(jiān)聽器和通道棧中的通道在整個(gè)系統(tǒng)中的角色。綁定(Bindings)是一些綁字元素的集合。這些綁定元素建立通道監(jiān)聽器,而監(jiān)聽器建立和管理通道。
根據(jù)微軟提供的文檔,數(shù)據(jù)從一個(gè)通道到達(dá)另一個(gè)通道會(huì)衰減,而這些會(huì)被通道監(jiān)聽器捕獲并處理。在我們討論通道監(jiān)聽器和通道如何在一起工作并為我們提供通訊服務(wù)之前,有一個(gè)重要的思想必須理解。一個(gè)狀態(tài)機(jī)管理WCF通訊中的所有狀態(tài)。在狀態(tài)機(jī)中的狀態(tài)都是可預(yù)料的,如Open、Abort、Close等等。所有參與通訊狀態(tài)機(jī)的類都支持ICommunicationObject接口。如果想了解完整的 WCF通訊狀態(tài)機(jī)的定義,請(qǐng)參閱相關(guān)的WCF文檔。
到此,相信大家對(duì)“WCF通道是什么”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。