我想重寫生成的代理(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