2009-02-13 62 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,因为类的作者告诉您它包含一些应该释放的资源。