据我所知,HandleError应该与服务异步运行,但是下面的代码证明它在同一个线程上运行服务:两个方法都显示4作为线程号,更多的是HandleError挂起服务。
class ErrorHandler : IErrorHandler
{
public bool HandleError(Exception error)
{
Thread.Sleep(55555);
Debug.WriteLine("Handle : " + Thread.CurrentThread.ManagedThreadId);
return true;
}
public void ProvideFault(Exception error, System.ServiceModel.Channels.MessageVersion version, ref System.ServiceModel.Channels.Message fault)
{
Debug.WriteLine("Provice : " + Thread.CurrentThread.ManagedThreadId);
}
}