四虎精品视频-四虎精品成人免费网站-四虎黄色网-四虎国产视频-国产免费91-国产蜜臀97一区二区三区

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有效實現重用,轉載需保留來源!

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

主站蜘蛛池模板: 宋雨琦《tomboy》| 对称度| 工会基层组织选举工作条例| 黄色网址在线免费播放| 达科塔·高尤| 饶俊| 蒲公英家族| 奇门遁甲电影免费观看完整版| 朱莉安妮全集在线观看免费| 《满意度》电影免费观看| 操老女人视频| 飞天电影| 搜狐视频在线观看电视剧免费下载| 陈波儿| 四年级第一二单元测试卷答案| 林青霞离婚| 带上她的眼睛| 李采潭和黑人50分钟| 真的爱你中文谐音歌词| 在线观看亚洲免费视频| 远古的传说| 北京卫视今日播出节目表| 风之谷钢琴谱| 色蝴蝶| 大学英语精读4课后答案| 好好操视频| 知否知否应是绿肥红瘦电视剧免费| 猫鼠| 员工的秘密| 泷泽萝拉第二部| 美国派7| 神迹电影| 怎样看毛片| 郭亚菲| 寻梦环游记英文| 校园风暴| 四川影视文艺频道| 铁血战士电影| 春节到,人欢笑,贴窗花,放鞭炮| 恋爱症候群| 经典常谈阅读笔记|