2009-02-13 29 views

回答

5

首先,WCF代理是IDisposable,這樣你就可以使用using

using(var proxy = new MyProxy()) { // see below - not quite enough 
    // use proxy 
} 

不幸的是,WCF也有定時拋出異常的錯誤Dispose()實現。但是,要使here's a really cool trick正常工作。我也對這個myself發表了博文,但我認爲第一個鏈接好得多。

所以:使用IDisposableusing,但謹慎使用(在這種情況下)。

設置字段通常沒有區別。有幾個邊緣情況(例如由多個委託人捕獲的變量,靜態字段,長壽命對象等),但總的來說不需要它。特別是,做做到這一點,因爲這在理論上可以延長壽命:

if(field != null) field = null; // BAD 
+0

這聽起來像OP是在談論服務,而不是客戶端,所以我不知道這是多少直接相關(但有助於瞭解有關關閉/處置/中止的WCF設計選擇)。 – Brian 2009-02-13 21:14:50

0

您只需要設置一個變量爲空,如果它將在很長一段時間後可達。說一個長壽命對象上的字段,或者一個靜態字段。這通常適用於WCF。

相關問題