WCF: обработка ошибок на стороне сервера. лучшая практика - PullRequest
6 голосов
/ 22 июля 2010

Я пишу сервис WCF и хочу вести его журнал активности: трассировка, предупреждения и сообщения об ошибках.Очень простой подход заключается в том, чтобы обернуть весь код обслуживания контракта в разделы try/catch и записать сообщения об ошибках из catch частичного повторного выброса исключений ошибок контракта на обслуживание.кодовая точка для перехвата всех необработанных исключений вместо десятков try/catch разделов.Также было бы полезно написать параметры метода контракта с этой точки для предоставления подробной информации об ошибках.

Возможно ли это с WCF?

Какова наилучшая практика в организации обработки ошибок внутри служб WCF?

Заранее спасибо!

Ответы [ 3 ]

4 голосов
/ 22 июля 2010

Посмотрите на IErrorHandler интерфейс

Позволяет исполнителю контролировать сообщение об ошибке, возвращаемое вызывающей стороне, и дополнительно выполнять пользовательскую обработку ошибок, такую ​​как ведение журнала

Вы можете реализовать свое поведение службы (см. Интерфейс IServiceBehavior ) и добавить свой обработчик в ChannelDispatcher обработчики ошибок.

Подробнее см. Обработка исключений WCF с IErrorHandler .

2 голосов
/ 22 июля 2010

Эта статья очень хорошо объясняет различные методы и лучшие.Долго, но, вероятно, ответит на ваш вопрос.

(отметьте Идеальный сценарий если вам лень)

URL статьи: http://www.olegsych.com/2008/07/simplifying-wcf-using-exceptions-as-faults/

0 голосов
/ 22 июля 2010

Я не уверен, работает ли это в WCF, но вы можете попробовать событие AppDomain.UnhandledException .

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