2009-02-13 73 views
0

(這涉及到微軟的SitkaSoapService,在服務引用在https://database.windows.net/soap/v1/我應該在我的SitkaSoapServiceClient上使用「使用」嗎?

我使用SitkaSoapServiceClient通過SOAP訪問我的SQL數據服務數據庫。

我應該每次使用這個代理類時使用「using」語句嗎?還是它在內部以安全的方式進行自己的連接處理?

I.e.我需要說:

using (SitkaSoapServiceClient proxy = GetProxy()) 
    proxy.Update(scope, entity); 

...還是肯定地說:[其中GetProxy()返回一個SitkaSoapServiceClient對象]

GetProxy().Update(scope, entity); 

回答

0

是否代理類代碼編譯時使用using語句包裝?如果是這樣,它實現IDisposable,我會使用它。

編輯:調用Dispose()應該產生很小的開銷,如果它什麼都不做,並且如果該類的設計者決定在以後分配非託管資源,您將被保護免受泄漏。

+0

它確實實現了IDisposable,但我記得在LinqToSql的DataContext上也有類似的爭論 - 這也實現了它,但微軟背後的大腦發誓,「使用」是不必要的。 – teedyay 2009-02-13 09:50:20

0

當類實現IDisposable時,您應該始終使用using,因爲類的作者告訴您它包含一些應該釋放的資源。