2010-02-16 2 views
0

Кажется, что диагностика WCF недоступна в SL. Это из-за ограниченной поддержки System.Diagnostics или чего-то еще? Во всяком случае, как вы отслеживаете проблемы WCF на стороне клиента, когда диагностики на стороне сервера недостаточно?Как диагностировать проблемы WCF на стороне клиента в среде Silverlight?

ответ

1

Это, как я решить мою проблему правильно получения исключений на клиенте Silverlight. Подобно Русу, но не требует обертывания исключений. Хотя это требует номер версии, чтобы быть точным в web.config (по-прежнему работает над решением, что)

Programmatic configuration of Exception-sending in WCF

1
+0

+1, потому что я не знал этот механизм. –

+0

Речь идет об обработке ошибок, а не о диагностике. В моем случае на сервере нет никаких исключений (по крайней мере, в моем методе обслуживания). .svclog не содержит ошибок, хотя он сломан (TraceViewer говорит «неожиданный конец файла» при его открытии). Поэтому я хотел бы получить что-то более полезное, чем «Не найдено» на стороне клиента. – UserControl

1

Если вы получаете сообщение «Not Found» Ошибка наиболее вероятной причиной является перекрестный доступ домен политика. То, что я использую, чтобы попытаться диагностировать эти проблемы, - Fiddler2, и посмотрите на необработанный трафик.

+0

Спасибо! Tried Fiddler и получить только «ReadResponse() не удалось: сервер не ответил на этот запрос». Тем не менее, моя проблема не является перекрестным доступом к doamin, поскольку я играю с местным проектом. Я подозреваю, что проблема сериализации «заставляет исключение происходить время от времени, как-то связанное с набором результатов из моей БД. – UserControl

0

Вы, , уверены, что ваш сервис WCF не работает при вызове? Если что-то не так на стороне сервера, возвращаемое сообщение будет иметь статус HTTP-кода 500. Из-за ограничений безопасности браузер не передает никакие сообщения, отличные от 200, обратно в плагин silverlight, что приводит к тому, что silverlight бросает классическое сообщение CommunicationException " Удаленный сервер возвратил ошибку: NotFound. "

Есть несколько довольно хорошо документированных работ для использования поведения WCF для изменения кода состояния HTTP по ошибке от 500 до 200, поэтому silverlight фактически получит доступ к деталям о том, что пошло не так. Более подробная информация здесь:

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

http://www.netfxharmonics.com/2009/07/Understanding-WCF-Faults-in-Silverlight-3

+0

Я уверен, что мой метод не генерирует исключение (удаляется точка останова на закрывающей скобке метода). В любом случае, ни одна из ссылок не была полезной. Первый полностью отключил службу, а второй не работал (и я убедился, что HttpStatusCode200Behavior применяется, когда хост активирован). – UserControl

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