Как заставить сервисный канал WCF войти в неисправное состояние?

Я пробовал тайм-ауты и выдавал исключения в реализации сервиса, но это не привело к тому, что канал перешел в неисправное состояние, как это происходит в моем производственном коде.

Как я мог заставить это событие произойти в целях тестирования?

В следующем коде выдается исключение для первого запроса, что приводит к сбою, но последующие запросы выполняются успешно (к сожалению, так как моя цель - заставить их завершиться с ошибкой)

public class SampleService : ISampleService
{
    static bool first = true;

    SampleData ISampleService.SampleMethod(SampleData data)
    {
        if (first)
        {
            first = false;
            throw new Exception();
        }
        return data;
    }
}

1 ответ

Решение

Возврат на ваш сервер неотслеживаемого исключения переведет ваш Chanel в состояние ошибки, если только это не FaultException; (спасибо marc_s!)

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