2009-02-13 31 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。

相关问题