我想重写生成的代理(ClientBase
)的Dispose方法,因为处置代理时会调用Close并在通道出现故障时抛出异常。WCF:使用分部类覆盖客户端的Dispose方法是否安全?
我想出的唯一方法是创建一个部分类对我生成的代理,使之从IDisposable
继承:
public partial class MyServiceProxy : IDisposable
{
#region IDisposable Members
public void Dispose()
{
if (State != System.ServiceModel.CommunicationState.Faulted)
Close();
else
Abort();
}
#endregion
}
我做了一些测试,我的Dispose
方法确实调用。
您是否看到此策略的任何问题?
此外,我不喜欢这样的事实,我必须为每个生成的代理创建此部分类。
是很好,如果我能够让我的代理继承一个基类...
我喜欢你的版本,这样我就不需要创建一个类为每个代理。谢谢! – pdiddy 2010-04-09 01:57:45