Как вручную создать исключение сбоя службы 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>
`