一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

WCF中通過Dispose有效實現重用

  在我翻譯的InfoQ新聞《WCF的問題和Using語句塊》中提到了釋放客戶端資源(其中包括端口、通道)和關閉連接的問題。新聞并沒有很深入地討論,所以我想再補充一些內容。

  毫無疑問,在.NETFramework中,一個資源(尤其是非托管資源)通常都需要實現IDisposable接口。一旦實現了該接口,我們就可以使用using語句來管理資源,這是最便捷的方式。但是,一旦在using語句中拋出了異常,就可能不會正確完成資源的回收,尤其是連接,很可能會一直打開,既占用了通道和端口,還可能出現資源的浪費,從而影響系統的性能和穩定性。

  微軟推薦的最佳實踐是拋棄using語句,轉而利用try/catch(/finally)語句。它要求在try語句中調用Close()方法,而在catch中調用Abort()方法。在新聞中已經說明了Close()與Abort()方法的區別,即后者可以強制地關閉客戶端,包括關閉客戶端連接,釋放資源。由于Close()方法可能會拋出CommunicationException和TimeoutException異常,通常的客戶端代碼應該是這樣:

var myClient = new MyClient();
try
{
//其他代碼
myClient.Close();
}
catch (CommunicationException)
{
myClient.Abort();
}
catch (TimeoutException)
{
myClient.Abort();
}
catch (Exception)
{
myClient.Abort();
throw;
}

NET技術WCF中通過Dispose有效實現重用,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 亚洲一区二区三区免费观看 | 久久综合九色综合77 | 欧美在线观看黄色 | 精品国产污污免费网站 | 涩涩涩综合在线亚洲第一 | 日本在线一区二区 | 人人添人人澡人人澡人人人人 | 国产高清免费午夜在线视频 | 亚洲青草 | 色哟哟在线影院 | 精品国产福利片在线观看 | 久久久久久久久久免观看 | 草草视频在线观看最新 | 国内激情视频 | 中文字幕色站 | 国产在线激情视频 | 精品无人区一区二区三区 | 久久精品国产清自在天天线 | 大陆精品 | 五月天天堂网 | 色偷偷人人澡久久天天 | www.黄在线| 亚洲一区亚洲二区亚洲三区 | 一区二区三区中文国产亚洲 | 国产午夜人做人免费视频中文 | 国产精品久久久久久一区二区 | fefe66免费毛片你懂的 | 日韩欧美一二三区 | www.黄色在线| 午夜在线视频免费观看 | 日本一区免费在线 | 视色4se影院在线观看 | 中文字幕一级毛片 | 91在线免费看| 小说区图片区综合视频区 | 狠狠综合久久综合鬼色 | 免费a级欧美黑寡妇a观看 | 日本一区二区在线不卡 | 久久怡红院国产精品 | 毛片久久久 | 欧美午夜性视频 |