Должны ли конструкторы для служб WCF использовать ошибки для обработки ошибок?

У меня есть сервис wcf. Сам сервис (класс, который наследует ServiceContract) имеет конструктор, который иногда выдает исключения. Я хочу представить пользователю сообщение, если служба не работает. Должен ли я использовать неисправности, как для метода обслуживания?

1 ответ

Решение

Под отказом обычно подразумевается предоставление информации об ошибках через границы служб, и в большинстве случаев ошибка отправляется как ответ на неверно сформированное или недействительное сообщение запроса. Учитывая это, я бы сказал, что ошибка здесь не имеет смысла.

Я согласен с приведенным выше комментарием, что конструктор для класса обслуживания должен избегать создания исключений. Если ваша служба работает с сеансом, вы можете рассмотреть вариант, в котором вы выполняете этот тип инициализации в результате определенной операции службы. Это можно сделать в WCF, пометив такую ​​операцию службы с помощью " IsInitiating = true " в атрибуте [OperationContract]. В этот момент вы сможете сгенерировать ошибку и надеяться, что она достигнет предполагаемого клиента.

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