Я знаю, что это горячая тема на StackOverflow, но потерпите меня.
У нас есть приложение Silverlight 3, взаимодействующее со службой WCF. Время от времени вызовы службы WCF возвращают исключение NotFound.
Я прочитал почти все сообщения на SO и Google по этой теме, но я не могу понять, что идет не так. Вот некоторые из моих выводов:
- Исключение случается при случайных вызовах и в случайные моменты. Иногда метод работает 50 раз и внезапно выходит из строя. У меня есть ощущение, что это связано с тайм-аутом, поскольку его можно воспроизвести, если я позволю приложению некоторое время бездействовать перед вызовом вызова, но это не всегда так - иногда один из первых вызовов в приложении терпит неудачу.
- Мы используем SilverlightFaultBehavior для преобразования кода ошибки HTTP в 200, и у нас есть множество случаев, когда исключение на стороне сервера фактически переходит на сторону клиента, поэтому я могу подтвердить, что это должно работать должным образом.
- Fiddler не показывает ничего особенного в момент возникновения исключения. Я даже не вижу рассматриваемого звонка. Это меня беспокоит, но это может означать, что исключение возникло в результате вызова, который произошел несколько минут назад, и время ожидания истекло?
- Service Trace Viewer ничего не показывает.
- Я присоединяю Visual Studio к проекту Silverlight и проекту служб WCF, устанавливаю прерывание отладки для всех исключений (созданных или обработанных), и она не прерывается (кроме Silverlight, чтобы сообщить мне о проблеме NotFound). Это заставляет меня думать, что, возможно, NotFound не является ответом на исключение на стороне службы WCF?
Я действительно понятия не имею, что делать дальше. Любая помощь, любые подсказки или идеи о том, что можно попробовать, приветствуются.