91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

WCF Dispatcher是什么

發布時間:2021-12-15 09:17:11 來源:億速云 閱讀:146 作者:iii 欄目:編程語言

這篇文章主要介紹“WCF Dispatcher是什么”,在日常操作中,相信很多人在WCF Dispatcher是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”WCF Dispatcher是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

由于應用WCF的是一個分布式環境,按照所處的環境的不同,可以將ServiceMode分成client端的ServiceMode和service端的 ServiceMode。就其實現的復雜度而言,service端的ServiceMode要比client端的復雜很多。對于Service端來講,WCF的ServiceMode需要解決的是:
◆如何根據不同的listening URI創建ChannelListener并進行監聽;
◆當request抵達,如何創建適合的Channel接收request message;
◆如何將Message分發到對應的Endpoint進行處理;
◆如何進一步將Message分發到對應的service instance;
◆以及如何進一步地分發的具體的service instance的匹配的method call。

由于“分發(Dispatch)”是其根本的功能和任務,所以Dispatcher是整個Service端ServiceMode的核心。正如標題所述,WCF Dispatcher是整個WCF service mode layer的中樞,本篇文章講著重圍繞著WCF Dispatcher來展開介紹。

WCF Dispatcher并不是指的某一個對象,而是指完成整個dispatch功能的一組相關對象的總稱。這包括3個核心的對象:ChannelListener、ChannelDispatcher和EndpointDispatcher,和一些輔助的對象。

ChannelListener 在本系列的前面兩個部分已經進行了詳細的介紹,我們知道其主要功能在于:綁定到一個固定的Listening URI,監聽來自外界的請求。一旦請求抵達,創建對應的Channel接收Request message。但是我們的業務邏輯定義在一個個的service類中,所以WCF必須提供一種機制通過我們接收到的message去激活對應service instance并調用對應的方法。

對于的激活(Activation)包含兩種:創建一個新的service instance(PerCall instancing mode)和復用一個已經存在的service Instance(PerSession 和Singleton instancing mode)。ChannelDispatcher的核心功能就是提供了這樣一種功能(盡管它還提供了其他的有用的功能,為了是內容不至于太散,在這里就不再作相關的介紹)。

ChannelDispatcher通常和一個ChannelListener關聯,而ChannelListener又對應著一個固定的listening URI。對于一個被host的service來講,可能定義了不同的listening address,所以一個service一般對應著一到多個ChannelDispatcher。更進一步說,當我們host一個service的時候,WCF會為之創建一個ServiceHostBase對象(ServiceHost或者是你自定義的繼承自ServiceHostBase的對象),所以一個ServiceHostBase對象對應一到多個ChannelDispatcher對象。

對于接收到的request message,ChannelDispatcher不會自己對其進行處理,而是將其分發到與之相匹配為的EndpointDispatcher上,所以處理message的的絕大部分功能實際上是由EndpointDispatcher來實現的。對于同一個listening address,我們一般會不止一個endpoint,所以一個ChannelDispatcher擁有不止一個EndpointDispatcher。對于EndpointDispatcher來講,有一個絕對絕對值得特別介紹的是DispatchRumtime。

DispatchRumtime和一個特定的EndpointDispatcher匹配,通過定制DispatchRumtime,你可以很容易地按照你具體的需要改變整個service或者某個具體的Operation相關的運行時行為。對于WCF一門重要的課題, WCF extensions來講,你的絕大部分BehaviorExtesionElment,都是通過具體的Behavior對DispatchRumtime進行定制而實現的。

到此,關于“WCF Dispatcher是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

开原市| 五河县| 汉中市| 班玛县| 新巴尔虎右旗| 尚义县| 潞城市| 延吉市| 桐梓县| 榆中县| 司法| 黔西县| 抚州市| 阳原县| 柳江县| 侯马市| 凭祥市| 新源县| 漳平市| 个旧市| 延寿县| 福州市| 辰溪县| 剑河县| 丹巴县| 来宾市| 焦作市| 富顺县| 上思县| 深圳市| 宁国市| 怀集县| 盘锦市| 东丰县| 梨树县| 改则县| 招远市| 涿鹿县| 遂平县| 略阳县| 正蓝旗|