Обработка пользовательских исключений в веб-сервисе ASP.NET
Я разработал веб-сервис asp.net 2.0 (.asmx), теперь мой клиент сказал, что
"нет доступных исключений ошибок. Он содержит только запрос и ответ. Нам нужно обрабатывать сценарии исключений во время вызова веб-службы. Не могли бы вы обновить WSDL в случае отказа и отправить нам обновленный WSDL, чтобы продолжить Клиентские окурки.
Ответ Webservice должен иметь приведенный ниже код ошибки для случаев отказа от веб-сервиса, как указано ниже:
Error code: Error Information 002 Server Down 003 Invalid Input Format
и т. д. Я не уверен, как я могу обновить свой код, чтобы теги "исключение ошибки" генерировались в файле asmx wsdl и как я должен генерировать такое исключение. Любая помощь / предложение, пожалуйста, или, пожалуйста, дайте мне знать, если вам нужно дальнейшее объяснение.
2 ответа
AFAIK, веб-сервисы ASP.NET (asmx) не поддерживают нестандартные ошибки мыла. С другой стороны, она считается устаревшей технологией (от Microsoft) - в ней нет смысла разрабатывать новые сервисы.
Используйте сервисы WCF (которые более гибки во всех отношениях) - посмотрите этот простой учебник, чтобы начать работу с WCF.
Возвращаясь к вашему вопросу, WCF поддерживает пользовательскую ошибку мыла (известную как соглашение об отказе в языке WCF) - см. Это простое руководство по добавлению договора об ошибке в службу WCF.
Вы должны добавить атрибуты FaultContract с информацией об исключениях в заголовки ваших методов