当单个ClientBase<T>实例用于多个WCF服务调用时,它可以使通道进入故障状态(即,当服务停止时).
当服务再次出现时,我想自动修复频道.我找到的唯一方法是在每次方法调用之前调用以下代码:
if (clientBase.InnerChannel.State == CommunicationState.Faulted)
{
      clientBase.Abort();
      ((IDisposable)clientBase).Dispose();
      clientBase = new SampleServiceClientBase();
}
我觉得这不是正确的做法.谁有更好的主意?