Рекомендации по работе с ответами «Не найдено» в службах WCF - PullRequest
1 голос
/ 06 декабря 2010

У меня есть приложение Silverlight, которое взаимодействует со службой WCF с поддержкой Silverlight, оба из которых находятся под моим контролем разработчика.

Каковы некоторые из лучших методов обработки исключений, которые могут возникнуть вСлужба WCF.

Если вы просто попытаетесь вызвать исключение в службе WCF, информация об исключении не вернется к клиенту Silverlight.Вместо этого клиент Silverlight получает общее (и вводящее в заблуждение) исключение «Не найдено».

Мои методы обслуживания часто возвращают определенные объекты класса.Я подумал о нескольких подходах, но хотел бы получить альтернативы.

  1. Добавьте свойства типа исключения к вашим объектам пользовательского класса и проверьте свойства возвращаемого значения.

  2. Создайте универсальный класс-обертку, который возвращают все методы, которые имеют детали транзакции (и детали исключения), а также прикрепленный объект возвращаемого значения, который может быть любого типа объекта.

  3. Я прочитал кое-что об изменении службы WCF, чтобы она возвращала подробную информацию об ошибке в случае исключения (в отличие от бесполезного «не найдено»), но статья была неполной, и поэтому я все еще не уверен, что это сработает.

Спасибо

Ответы [ 2 ]

2 голосов
/ 07 декабря 2010

Silverlight 4.0 действительно поддерживает понятие Fault Contracts, но для того, чтобы подробности исключений были доступны в вашем клиенте, сообщения об ошибках должны быть возвращены с ответом HTTP 200. Ниже приведены все подробности (см. Заголовок Настройка ошибок WCF SOAP для использования с клиентами Silverlight ):

http://msdn.microsoft.com/en-us/library/ee844556(VS.95).aspx

С точки зрения передового опыта, ознакомьтесь с рекомендациями по архитектуре веб-сервисов фабрики программного обеспечения веб-сервисов:

http://msdn.microsoft.com/en-us/library/ff699426.aspx

В частности, тема по обработке исключений:

http://msdn.microsoft.com/en-us/library/ff699460.aspx

Все эти указания предоставляются из POV реализаций WCF ...

0 голосов
/ 07 декабря 2010

Проверьте эту ссылку, чтобы перехватить ошибку «Не найдено»:

http://blogs.runatserver.com/lppinson/post/2010/04/15/Debugging-WCF-Web-Services.aspx

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