WCF服務部署後異常的處理

2022-01-11 11:34:14 字數 1316 閱讀 6362

在部署專案的時候,發現wcf總是存在問題,一直沒找出什麼原因。

開始在專案開發階段客戶端呼叫wcf服務的**如下

jsajservice.jsajserviceclient _ajservice = new jsajservice.jsajserviceclient();

bool iscurrent = _ajservice.iscurrentempty(id,user);

或者在本呼叫檔案類中定義乙個全域性的wcf客戶端例項服務。

其實這樣使用看起來是沒什麼問題的,而且也能順利使用,在專案開發階段完全沒出現什麼問題。不過,由於wcf客戶端都有乙個超時時間,可能靜止過了一段時間,你在介面重新整理資料的時候,你會發現出現下面的錯誤:"通訊物件system.servicemodel.channels.servicechannel 無法用於通訊,因為其處於「出錯」狀態。",當然還有可能出現另外的其他的奇怪的錯誤提示。

這種呼叫方式的確存在問題,那麼有人也許會這樣來呼叫,當然我們專案中也存在這樣的呼叫例項。

using (inputmodelservice.inputmodelserviceclient _sc = new inputmodelservice.inputmodelserviceclient())

但是這樣呼叫也是存在問題的,還好微軟給我們提供了乙個建議的方法

try

catch (communicationexception e)

catch (timeoutexception e)

catch (exception e)

但如果呼叫頻繁,這樣實在**,管理也非常難受。有沒有更好的方式,避免出錯,又能夠正確呼叫wcf客戶嗎,當然有,下面這樣方式就是比較好的一種解決方案,經過實際測試,效果不錯。

建立乙個輔助類

public

static

class

wcfextensions

catch

(communicationexception e)

catch

(timeoutexception e)

catch

(exception e)

}}

然後客戶端呼叫的時候即可這樣來呼叫

md_inputentity _ret = new

md_inputentity();

new inputmodelservice.inputmodelserviceclient().using(channel =>);

return _ret;

WCF服務部署後異常的處理

在部署專案的時候,發現wcf總是存在問題,一直沒找出什麼原因。開始在專案開發階段客戶端呼叫wcf服務的 如下 jsajservice.jsajserviceclient ajservice new jsajservice.jsajserviceclient bool iscurrent ajserv...

Linux下的DHCP服務部署

對於運維人員來說,要盡可能的減少管理負擔,對主機ip位址的配置是相當麻煩的,手動配置顯然費時費力,還不好管理,主機還會出現位址衝突的情況。這個時候,就到dhcp登場了。dhcp 動態主機配置協議 指的是由伺服器控制一段lp位址範圍,客戶機登入伺服器時就可以自動獲得伺服器分配的lp位址和子網掩碼。使用...

linux的dhcp4 1 1服務部署

實施步驟 1 設定dhcp伺服器靜態ip和主機名 root sw vim etc sysconfig network scripts ifcfg eth0 設定網路 device eth0 hwaddr 08 00 27 47 92 32 type ethernet uuid f5bdb328 44...