【发布时间】:2013-10-07 23:57:41
【问题描述】:
我有一个 WCF 应用程序。
我了解最佳做法是将这些客户端代理对象与 using 语句或 try/finally 块一起使用,如下所示:
using(var proxy = MyChannelFactory.CreateChannel())
{
//do stuff here
}
或
var proxy = MyChannelFactory.CreateChannel();
try
{
//do stuff here
}finally{
proxy.close();
}
我想知道的是...... 如果我将关闭通道的代码放在析构函数中,是否可以在代理对象超出范围时依靠垃圾收集器调用析构函数代码,从而确保代理全部正确关闭?
【问题讨论】: