Мы используем WebClient,.NET 3.5sp1 в приложении winforms. Для некоторых пользователей этот результат в Exception с сообщением:
"Подключенное соединение было закрыто: соединение, которое должно было быть сохранено, было закрыто сервером".
Поиск немного по сети предлагает "исправить", чтобы просто отключить http keepalive, что нам не очень интересно делать, некоторые полагают, что это может быть ошибкой в библиотеках .NET и т.д.
Сообщение об ошибке указывает на наличие http-соединения keepaliv'ed, которое каким-то образом закрывается сервером (или прокси) без поддержки WebClient, обнаружившего его правильно.
Мы собираемся поймать этот конкретный случай и просто попробуем запрос еще раз. Однако мы не можем воспроизвести это исключение. Так.
-
Как мы можем правильно уловить случай, который дает вышеприведенное сообщение об ошибке.
catch (WebException ex) { if (ex.Message == "Подключенное соединение было закрыто: соединение, которое должно было оставаться в живых, было закрыто сервером" ) {...}
запахи.. плохо.
-
Любые советы о том, как мы можем воспроизвести вышеупомянутое исключение?