WCF 宿主与通信模式(二)
宿主
每個(gè)WCF服務(wù)都必須托管在Windows進(jìn)程中,該進(jìn)程稱為宿主進(jìn)程(host process)
單個(gè)宿主進(jìn)程可以托管多個(gè)服務(wù),相同的服務(wù)類型也可以托管在多個(gè)宿主進(jìn)程中。
?
wcf中托管服務(wù)一般有一下四種:
| 寄宿方式 | 描述 |
| Console寄宿 | 利于開(kāi)發(fā)調(diào)試,但不是生產(chǎn)環(huán)境中的最佳實(shí)踐。 |
| winform寄宿 | 方便與用戶進(jìn)行交互,用戶想開(kāi)就開(kāi),想關(guān)就關(guān),但如果機(jī)器重啟了,不得不自己手動(dòng)開(kāi)一下,危險(xiǎn)+麻煩。 |
| IIS寄宿 | 此寄宿在實(shí)戰(zhàn)項(xiàng)目中得到了廣泛的應(yīng)用。好處有:隨系統(tǒng)啟動(dòng)和停止。iis有大量的管理策略對(duì)其進(jìn)行管理。即想利用wcf的功能,還想訪問(wèn)asp.net的功能。 |
| Window Service 寄宿 | 這個(gè)寄宿在實(shí)戰(zhàn)中也是廣泛運(yùn)用的,同時(shí)也是隨系統(tǒng)開(kāi)啟或者停止。 |
?
通信模式
WCF在通信過(guò)程中有三種模式:請(qǐng)求與答復(fù)、單向、雙工通信。
模式 | 描述 | 特點(diǎn) |
| 請(qǐng)求與答復(fù)模式 | 客戶端發(fā)送請(qǐng)求,然后一直等待服務(wù)端的響應(yīng)(異步調(diào)用除外),期間處于假死狀態(tài),直到服務(wù)端有了答復(fù)后才能繼續(xù)執(zhí)行其他程序。 | 請(qǐng)求與答復(fù)模式為WCF的默認(rèn)模式,即使返回值是void 也屬于請(qǐng)求與答復(fù)模式。 缺點(diǎn):如果用WCF在程序A中上傳一個(gè)2G的文件,那么要想執(zhí)行程序B也許就是幾個(gè)小時(shí)后的事情了。如果操作需要很長(zhǎng)的時(shí)間,那么客戶端程序的響應(yīng)能力將會(huì)大大的下降。 優(yōu)點(diǎn):有返回值我們就可以向客戶端返回錯(cuò)誤信息,如:只接收".rar"文件等信息。 |
| 單向模式 | 客戶端向服務(wù)端發(fā)送求,但是不管服務(wù)端是否執(zhí)行完成就接著執(zhí)行下面的程序。 | 優(yōu)缺點(diǎn)與“請(qǐng)求響應(yīng)模式”差不多倒過(guò)來(lái)。 特點(diǎn):使用 IsOneWay=true 標(biāo)記的操作不得聲明輸出參數(shù)、引用參數(shù)或返回值 |
| 雙工模式 | 雙工模式建立在上面兩種模式的基礎(chǔ)之上,實(shí)現(xiàn)客戶端與服務(wù)端相互的調(diào)用。相互調(diào)用:以往我們只是在客戶端調(diào)用服務(wù)端,然后服務(wù)端有返回值返回客戶端,而相互調(diào)用不光是客戶端調(diào)用服務(wù)端,而且服務(wù)端也可以調(diào)用客戶端的方法。 | 雙工模式是建立在以上兩種模式之上的模式,他們并不沖突。 支持回調(diào)的綁定有4種:WSDualHttpBinding、 NetTcpBinding、 NetNamedPipeBinding、 NetPeerTcpBinding |
轉(zhuǎn)載于:https://www.cnblogs.com/birdwawe/p/4583326.html
總結(jié)
以上是生活随笔為你收集整理的WCF 宿主与通信模式(二)的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: java连接u盘_虚拟机VM6.0 LI
- 下一篇: win版跳过id锁工具_一键跳过苹果锁,