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語句。前面的代碼示例在編譯時展開爲以下代碼(注意額外的花括號以創建對象的有限範圍):
我希望有所幫助。