WCF 宿主與通訊模式(二)

2022-02-23 10:25:31 字數 1194 閱讀 9363

每個wcf服務都必須託管在windows程序中,該程序稱為宿主程序(host process)

單個宿主程序可以託管多個服務,相同的服務型別也可以託管在多個宿主程序中。

wcf中託管服務一般有一下四種:

寄宿方式

描述

console寄宿

利於開發除錯,但不是生產環境中的最佳實踐。

winform寄宿

方便與使用者進行互動,使用者想開就開,想關就關,但如果機器重啟了,不得不自己手動開一下,危險+麻煩。

iis寄宿

此寄宿在實戰專案中得到了廣泛的應用。好處有:隨系統啟動和停止。iis有大量的管理策略對其進行管理。即想利用wcf的功能,還想訪問asp.net的功能。

window service 寄宿

這個寄宿在實戰中也是廣泛運用的,同時也是隨系統開啟或者停止。

wcf在通訊過程中有三種模式:請求與答覆、單向、雙工通訊。

請求與答覆模式

客戶端傳送請求,然後一直等待服務端的響應(非同步呼叫除外),期間處於假死狀態,直到服務端有了答覆後才能繼續執行其他程式。

請求與答覆模式為wcf的預設模式,即使返回值是void 也屬於請求與答覆模式。

缺點:如果用wcf在程式a中上傳乙個2g的檔案,那麼要想執行程式b也許就是幾個小時後的事情了。如果操作需要很長的時間,那麼客戶端程式的響應能力將會大大的下降。

優點:有返回值我們就可以向客戶端返回錯誤資訊,如:只接收".rar"檔案等資訊。

單向模式

客戶端向服務端傳送求,但是不管服務端是否執行完成就接著執行下面的程式。

優缺點與「請求響應模式」差不多倒過來。

特點:使用 isoneway=true 標記的操作不得宣告輸出引數、引用引數或返回值

雙工模式

雙工模式建立在上面兩種模式的基礎之上,實現客戶端與服務端相互的呼叫。相互呼叫:以往我們只是在客戶端呼叫服務端,然後服務端有返回值返回客戶端,而相互呼叫不光是客戶端呼叫服務端,而且服務端也可以呼叫客戶端的方法。

雙工模式是建立在以上兩種模式之上的模式,他們並不衝突。

支援**的繫結有4種:wsdualhttpbinding、

nettcpbinding、

netnamedpipebinding、

netpeertcpbinding

WCF(二)三種通訊模式

wcf在通訊過程中有三種模式 請求與答覆 單向 雙工通訊 客戶端傳送請求,然後一直等待服務端的響應答覆 非同步呼叫除外 期間處於假死狀態,直到服務端有了答覆後才能繼續執行其他程式 請求與答覆模式為wcf預設模式,無需任何設定 operationcontract string getdata int ...

qemu安裝及與宿主機通訊

qemu安裝sudo apt get install qemu qemu useruser模式聯網 預設ip為10.0.2.15,只能虛擬機器連線宿主機,預設宿主機的位址位客戶機所在網路的第2個ip位址,10.0.2.2不能直接連到外網,也不能宿主機連線虛擬機器.root登入qemu,ping 10...

PHP與WCF通訊資料獲取

上回說到php與wcf成功通訊了,並且得到了資料 當時說的資料是基型別資料 今天我要說的是返回物件資料.首先我們說返回單個物件 服務端,我定了乙個getuser的介面,返回乙個userinfo物件 public class userinfo datamember public int age ser...