Как вручную создать исключение сбоя службы wcf?

Я хочу вручную настроить канал службы wcf для перехода в состояние сбоя для тестирования одноэлементного объекта. Я пробовал много решений, таких как: 1. использование неправильного имени хоста службы, 2. неправильный IP-адрес хоста, 3. сокращение времени выполнения для запуска исключения тайм-аута, 4. разделение на нулевое исключение, 5. исключение ошибки, 6. исключение с нулевой ссылкой.

Но ничто не может сделать служебный канал неисправным. Добрый совет. заранее спасибо

1 ответ

Какой тип привязки вы используете? Я думаю, вам нужно использовать привязку, которая поддерживает сеанс. вы пробовали использовать WsHttpBinding? Взгляните на приведенный ниже пример кода и попробуйте передать значение 0 для b, чтобы сгенерировать DivideByZeroException. Это приведет к тому, что канал будет в состоянии ошибки.

Мой сервисный контракт: `

[ServiceContract]
    public interface ITestService
    {
        [OperationContract]
        int Division(int a, int b);
    }

`Моя реализация контракта на оказание услуг:

`

public class TestService : ITestService
{
    public int Division(int a, int b)
    {
        return a / b;
    }   
    
}

`

Конечная точка:

`<endpoint address="TestService" binding="wsHttpBinding" 
          contract="ServiceFaultExceptionTest.ITestService">
        </endpoint>

`

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