0

据我所知,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);
    }
}
4

0 回答 0