【发布时间】:2010-04-09 06:51:22
【问题描述】:
我想覆盖生成的代理 (ClientBase) 的 Dispose 方法,因为处理代理调用 Close 并且在通道发生故障时可能引发异常。
我想出的唯一方法是为我生成的代理创建一个部分类,使其继承自IDisposable:
public partial class MyServiceProxy : IDisposable
{
#region IDisposable Members
public void Dispose()
{
if (State != System.ServiceModel.CommunicationState.Faulted)
Close();
else
Abort();
}
#endregion
}
我做了一些测试,我的Dispose 方法确实被调用了。
你觉得这个策略有什么问题吗?
另外,我不喜欢必须为每个生成的代理创建这个部分类的事实。
如果我能够让我的代理从基类继承,那就太好了……
【问题讨论】: