2011-12-21 4 views
0

У меня есть служба WCF, вызываемая от клиента. Когда во время отладки происходит перегрузка данных между клиентом и клиентом, в какой-то момент в сервисе есть исключение, и служба должна быть загружена снова. В моем случае услуга занимает около 10 минут для загрузки (она загружает данные). Я не делаю исключения в самом WCF. Я завернул все сервисные вызовы/функции внутри «try and catch {return null» »(возвращать null клиенту вместо того, чтобы ломаться), но исключение все еще происходит в клиенте, а служба прерывается.Исключение броска в WCF без исключения исключения

Где эта ошибка? Является ли это сообщение исключением, некоторые случайные исключения из внутренних служб WCF. Я хочу поймать это исключение и не винить весь сервис (требуя 10-минутного ожидания, чтобы перезапустить службу). Есть ли какой-либо инструмент/код, чтобы поймать любое исключение внутри WCF и не сделать его неисправным. Некоторые исключения, такие как сбой сетевого соединения, не поддаются контролю. Я не бросал каких-либо исключений моя самость как «новый Exception (» что-то случилось "), например.)

Спасибо за вашу помощь.

+2

В чем исключение? Что он говорит? Есть ли InnerException? Требуется больше деталей. – Amy

+0

Это «CommunicationException». – iefpw

+0

{«Подключенное соединение было закрыто: произошла непредвиденная ошибка при приеме».} {«Невозможно прочитать данные из транспортного соединения: существующее соединение было принудительно закрыто удаленным хостом».} {«Произошла ошибка при приеме HTTP-ответ на http://asdf232.com/Service.svc. Это может быть связано с привязкой конечной точки службы, не использующей протокол HTTP. Это также может быть вызвано тем, что сервер HTTP-запроса прерывается сервером (возможно, из-за служба отключается). Подробнее см. в журналах журналов. "} – iefpw

ответ

0

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

+0

Это происходит во время отладки, о котором говорится в сообщении об отправке сообщений MSDN. Что-то о недостатках и т. Д. – iefpw

0

Просто догадка: вы сказали, что ваша служба загружает много данные. Сколько данных вы возвращаете из своей службы? Если вы вернете огромный список, это исключение может быть вызвано неправильной конфигурацией клиент-сервер. Вероятно, вы должны увеличить maxReceivedMessageSize и maxBuff erSize; иногда также увеличивают maxItemsInObjectGraph of DataContractSerializer как на сервере, так и на клиенте.

Также, чтобы поймать все исключения на сервере вместо нескольких блоков try-catch, вы можете реализовать IErrorHandler.

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