Как вручную создать исключение сбоя службы wcf? - PullRequest
0 голосов
/ 13 июля 2020

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

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

1 Ответ

0 голосов
/ 13 июля 2020

какой тип привязки вы используете? Я думаю, вам нужно использовать привязку, которая поддерживает сеанс. вы пробовали использовать 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>

`

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...