2014-09-02 66 views

回答

3

JsonServiceClient implements IDisposable所以最好的做法是使用它與using聲明。

但是,由此就需要共享的JsonServiceClient跨多個請求的實例有場景(例如,當您使用基於cookie的會話,因爲餅乾所含的情況下cookie的容器),在這種情況下,你將使用沒有using聲明的客戶端,但確保您的應用程序在不再需要客戶端時調用客戶端的Dispose方法。

gdoron的This answer進一步解釋了實施IDisposable的類的最佳實踐,例如JsonServiceClient及其背後的推理。

通常,當您使用IDisposable對象時,應該在using語句中聲明並實例化它。 using語句以正確的方式調用對象上的Dispose方法,並且(如前所示使用它時)也會在調用Dispose後立即使對象本身超出範圍。在使用塊中,對象是隻讀的,不能被修改或重新分配。

using語句確保即使在對象上調用方法時發生異常,也會調用Dispose。將對象放在try塊中,然後在finally塊中調用Dispose,可以獲得相同的結果;實際上,這是編譯器如何翻譯using語句。前面的代碼示例在編譯時展開爲以下代碼(注意額外的花括號以創建對象的有限範圍):

我希望有所幫助。

相關問題