2011-01-03 3 views
2

Во-первых, существует целый ряд других подобных вопросов, и я прочитал их все, и они имеют аналогичные проблемы, однако они отличаются от моей проблемы:WPF HTTPWebRequest Базовое соединение закрыто: Непредвиденная ошибка приема

В клиентском приложении WPF я делаю несколько HttpWebRequests на различные сайты. На одной конкретной машине и на одном конкретном веб-сайте я получаю следующую ошибку, однако только периодически, примерно один раз каждые 4 или 5 запросов:

System.Net.WebException Подключенное соединение было закрыто: произошла непредвиденная ошибка при приеме , в System.Net.HttpWebRequest.GetResponse()

, а статус запроса - получение.

Вот что я пробовал:

  • Изменение тайм-аут, чтобы быть очень высокой, выключая поддерживать и использовать HTTP 1.0 вместо 1.1, все из которых не меняют неполадку
  • Running через прокси-сервер, чтобы увидеть, что происходит, но по какой-то странной причине эта проблема не возникает, когда я запускаю тот же самый код через прокси (путем установки прокси-объекта на веб-запрос http)
  • Я могу получить доступ к сайту нет проблем с IE и хромом
  • Пробовал другую машину i nside в моей домашней сети и проблем не было. Аналогично другой машине за пределами сети.

Эта проблема возникла после обновления этой машины до Win7, однако после возврата к WinXP проблема все еще возникает.

Любая помощь очень ценится, все остальные сообщения были предназначены для людей, говорящих с их собственными веб-службами, и это была проблема конфигурации ASP или что-то в этом роде. Сайт, на котором я делаю запросы, также является сайтом ASP, но я не считаю его проблемой с сайтом третьей стороны, поскольку этот точный код работает на других машинах, а не на одном конкретном.

ответ

1

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

Поскольку вы уже изменили тайм-аут и т. Д. Без успеха, проблема может заключаться в том, что сервер закрывает поток ответов до полного ответа по какой-либо причине. Изолированные на конкретном компьютере могут указывать на возможную аппаратную проблему или конфигурацию на этой конкретной машине. Тот факт, что это только для одного веб-сайта на машине, указывает на конфигурацию, а не на аппаратное обеспечение. Есть ли что-то другое на этой машине? Обновления? Конфигурация IIS?

Возможно, это работает через IE, Chrome и прокси-сервер, потому что у них будет некоторая обработка ошибок, уже встроенная (IE и Chrome, безусловно, будут обрабатывать ошибки и повторять запросы, я предполагаю, что и прокси-сервер). Возможно, вам придется создать часть этой обработки ошибок в вашем коде.

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