在部署專案的時候,發現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())
但是這樣呼叫也是存在問題的,還好微軟給我們提供了乙個建議的方法
trycatch (communicationexception e)
catch (timeoutexception e)
catch (exception e)
但如果呼叫頻繁,這樣實在**,管理也非常難受。有沒有更好的方式,避免出錯,又能夠正確呼叫wcf客戶嗎,當然有,下面這樣方式就是比較好的一種解決方案,經過實際測試,效果不錯。
建立乙個輔助類
publicstatic
class
wcfextensions
catch
(communicationexception e)
catch
(timeoutexception e)
catch
(exception e)
}}
然後客戶端呼叫的時候即可這樣來呼叫
md_inputentity _ret = newmd_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...