真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

WCFDispatcher是什么

這篇文章主要介紹“WCF Dispatcher是什么”,在日常操作中,相信很多人在WCF Dispatcher是什么問(wèn)題上存在疑惑,小編查閱了各式資料,整理出簡(jiǎn)單好用的操作方法,希望對(duì)大家解答”WCF Dispatcher是什么”的疑惑有所幫助!接下來(lái),請(qǐng)跟著小編一起來(lái)學(xué)習(xí)吧!

創(chuàng)新互聯(lián)公司-專(zhuān)業(yè)網(wǎng)站定制、快速模板網(wǎng)站建設(shè)、高性?xún)r(jià)比大豐網(wǎng)站開(kāi)發(fā)、企業(yè)建站全套包干低至880元,成熟完善的模板庫(kù),直接使用。一站式大豐網(wǎng)站制作公司更省心,省錢(qián),快速模板網(wǎng)站建設(shè)找我們,業(yè)務(wù)覆蓋大豐地區(qū)。費(fèi)用合理售后完善,十多年實(shí)體公司更值得信賴(lài)。

由于應(yīng)用WCF的是一個(gè)分布式環(huán)境,按照所處的環(huán)境的不同,可以將ServiceMode分成client端的ServiceMode和service端的 ServiceMode。就其實(shí)現(xiàn)的復(fù)雜度而言,service端的ServiceMode要比client端的復(fù)雜很多。對(duì)于Service端來(lái)講,WCF的ServiceMode需要解決的是:
◆如何根據(jù)不同的listening URI創(chuàng)建ChannelListener并進(jìn)行監(jiān)聽(tīng);
◆當(dāng)request抵達(dá),如何創(chuàng)建適合的Channel接收request message;
◆如何將Message分發(fā)到對(duì)應(yīng)的Endpoint進(jìn)行處理;
◆如何進(jìn)一步將Message分發(fā)到對(duì)應(yīng)的service instance;
◆以及如何進(jìn)一步地分發(fā)的具體的service instance的匹配的method call。

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

WCF Dispatcher并不是指的某一個(gè)對(duì)象,而是指完成整個(gè)dispatch功能的一組相關(guān)對(duì)象的總稱(chēng)。這包括3個(gè)核心的對(duì)象:ChannelListener、ChannelDispatcher和EndpointDispatcher,和一些輔助的對(duì)象。

ChannelListener 在本系列的前面兩個(gè)部分已經(jīng)進(jìn)行了詳細(xì)的介紹,我們知道其主要功能在于:綁定到一個(gè)固定的Listening URI,監(jiān)聽(tīng)來(lái)自外界的請(qǐng)求。一旦請(qǐng)求抵達(dá),創(chuàng)建對(duì)應(yīng)的Channel接收Request message。但是我們的業(yè)務(wù)邏輯定義在一個(gè)個(gè)的service類(lèi)中,所以WCF必須提供一種機(jī)制通過(guò)我們接收到的message去激活對(duì)應(yīng)service instance并調(diào)用對(duì)應(yīng)的方法。

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

ChannelDispatcher通常和一個(gè)ChannelListener關(guān)聯(lián),而ChannelListener又對(duì)應(yīng)著一個(gè)固定的listening URI。對(duì)于一個(gè)被host的service來(lái)講,可能定義了不同的listening address,所以一個(gè)service一般對(duì)應(yīng)著一到多個(gè)ChannelDispatcher。更進(jìn)一步說(shuō),當(dāng)我們host一個(gè)service的時(shí)候,WCF會(huì)為之創(chuàng)建一個(gè)ServiceHostBase對(duì)象(ServiceHost或者是你自定義的繼承自ServiceHostBase的對(duì)象),所以一個(gè)ServiceHostBase對(duì)象對(duì)應(yīng)一到多個(gè)ChannelDispatcher對(duì)象。

對(duì)于接收到的request message,ChannelDispatcher不會(huì)自己對(duì)其進(jìn)行處理,而是將其分發(fā)到與之相匹配為的EndpointDispatcher上,所以處理message的的絕大部分功能實(shí)際上是由EndpointDispatcher來(lái)實(shí)現(xiàn)的。對(duì)于同一個(gè)listening address,我們一般會(huì)不止一個(gè)endpoint,所以一個(gè)ChannelDispatcher擁有不止一個(gè)EndpointDispatcher。對(duì)于EndpointDispatcher來(lái)講,有一個(gè)絕對(duì)絕對(duì)值得特別介紹的是DispatchRumtime。

DispatchRumtime和一個(gè)特定的EndpointDispatcher匹配,通過(guò)定制DispatchRumtime,你可以很容易地按照你具體的需要改變整個(gè)service或者某個(gè)具體的Operation相關(guān)的運(yùn)行時(shí)行為。對(duì)于WCF一門(mén)重要的課題, WCF extensions來(lái)講,你的絕大部分BehaviorExtesionElment,都是通過(guò)具體的Behavior對(duì)DispatchRumtime進(jìn)行定制而實(shí)現(xiàn)的。

到此,關(guān)于“WCF Dispatcher是什么”的學(xué)習(xí)就結(jié)束了,希望能夠解決大家的疑惑。理論與實(shí)踐的搭配能更好的幫助大家學(xué)習(xí),快去試試吧!若想繼續(xù)學(xué)習(xí)更多相關(guān)知識(shí),請(qǐng)繼續(xù)關(guān)注創(chuàng)新互聯(lián)網(wǎng)站,小編會(huì)繼續(xù)努力為大家?guī)?lái)更多實(shí)用的文章!


當(dāng)前名稱(chēng):WCFDispatcher是什么
網(wǎng)站鏈接:http://weahome.cn/article/gjpgoe.html

其他資訊

在線(xiàn)咨詢(xún)

微信咨詢(xún)

電話(huà)咨詢(xún)

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部