Вызовы веб-сервисов блокируются при потере сетевого подключения - PullRequest
0 голосов
/ 13 марта 2009

Я пишу приложение с графическим интерфейсом на c # для платформы .NET compact Framework 1.0 SP3, которая использует веб-службы для получения данных с нашего сервера.

Когда я ухожу далеко от точки доступа, соединение теряется, и при следующем вызове веб-службы блокируется все приложение. Каждый вызов окружается попыткой {...} catch {...}, но, насколько я вижу в журнале, процесс никогда не возвращается из заблокированного вызова веб-службы.

Что происходит?

Ответы [ 2 ]

1 голос
/ 13 марта 2009

Какое время ожидания веб-службы? Вы пытались настроить тайм-аут?

Я бы добавил Thread.Sleep (5000); в веб-сервисе, затем установите тайм-аут в клиенте на 2 секунды, затем запустите с помощью отладчика и убедитесь, что исключение перехватывается по истечении времени ожидания. Делайте это при подключении к сети.

Тогда вы захотите отобразить какое-либо сообщение об ошибке, если после определенного числа попыток служба все еще не работает. Затем вы захотите подождать настраиваемое количество времени, прежде чем повторять попытку. Вы также можете позволить пользователю попытаться восстановить соединение вручную.

0 голосов
/ 13 марта 2009

Время ожидания установлено на 10 секунд. В журналах есть запись, которая показывает три перехваченных исключения, а затем блокируется вызов веб-службы.

...