2010-10-20 4 views
7

Если в моей службе WCF возникает исключение, как лучше всего сообщить об этой ошибке клиенту?Обработка исключений WCF

Должен ли я регистрировать его на сервисе и реконструировать исключение мыла? Или я должен его зарегистрировать и вернуть дружеское сообщение?

ответ

11

Использование строго типизированного или непечатаемого исключения FaultException является способом достижения этого. Существует отличная статья Simplifying WCF: Using Exceptions as Faults, которая описывает, как использовать каждый. Как отмечается в статье, в зависимости от сложности вашего сервиса вы можете выбрать более простое исключение FaultException и передать информацию об исключении клиенту.

+0

+1 для отличной ссылки – Askolein

+0

Эта ссылка не работает. – Dan

+0

Ну, прошло 6 лет с момента моего сообщения ... Да, ссылка сломана, но она доступна в архиве: http://web.archive.org/web/20160323202540/http://www.olegsych.com/ 2008/07/упрощая-ФОС-используя-исключения, как-разломы / – zam6ak

1

Я бы записал его и вернул FaultException. Когда вы создаете исключение FaultException, вы можете передать ему дружественное пользователю сообщение обратно клиенту.

0

Исключение должно быть исключительным событием, поэтому вам не следует беспокоиться о приятных сообщениях. Если исключения возникают только при наличии ошибки, просто сверните ее как общее исключение и запишите ее. Не должно быть проблемой.

Однако, если исключения происходят как часть вашего обычного процесса, возвращение хороших сообщений было бы хорошей идеей.

Смежные вопросы