Рекомендации по разработке простого веб-сервиса с кодами возврата - PullRequest
3 голосов
/ 10 сентября 2010

Я разрабатываю службу WCF, которая будет возвращать код ответа (например, 0 для успеха или другое число для ошибок).Кроме того, все методы веб-службы будут выполнять несколько общих проверок (таких как проверка подлинности apiKey).

Мне интересно, существует ли передовой опыт или организация и получение этих кодов и сообщений ответа.

Спасибо за любые предложения.

Ответы [ 2 ]

9 голосов
/ 10 сентября 2010

В идеале не используйте коды ответов.Верните что-нибудь пригодное для использования в случае успеха (или аннулируйте) и сгенерируйте исключение при ошибке.

Люди имеют дело с исключениями.Мы часто забываем смотреть на возвращаемые коды, особенно когда это происходит в 99% случаев, и нам нет дела до ответа.Таким образом, мы не фиксируем.Тогда мы не будем проверять наличие ошибок.Затем мы тратим 2 дня на поиск ошибки, которую не можем найти, потому что не было сгенерировано исключение, и мы не знаем, где вышло из строя приложение на 600 000 строк, которое использовало ваш веб-сервис ... мы даже не знаем, что это был вызов вашеговеб-сервис, который не удалось.Просто некоторые данные неверны по неизвестной причине.

Есть тема на SO по этому поводу: Какие и почему вы предпочитаете исключения или коды возврата

2 голосов
/ 10 сентября 2010

Не используйте коды возврата напрямую. Коды возврата обычно означают успех, набор ожидаемых сбоев и неожиданных сбоев. Веб-сервисы заменяют этот механизм ожидаемыми сбоями и непредвиденными сбоями. Проверьте FaultContract и FaultException для подробностей реализации для ожидаемых ошибок. Неожиданная ошибка - любое другое исключение. Это лучшая практика.

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