WCF IErrorHandle асинхронная проблема

Насколько я знаю, предполагается, что 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);
    }
}

0 ответов

Другие вопросы по тегам