У меня есть веб-приложение, которое опрашивает веб-сервис на другом сервере. Сервер расположен в той же сети, и на него ссылается внутренний IP-адрес, работающий через порт 8080.
Каждые 15 секунд отправляется запрос, который получает xml-ответ с информацией о задании. В 95% случаев это работает хорошо, однако в случайное время запрос к серверу становится нулевым и выдает «ответ, принудительно закрытый удаленным хостом».
Исследуя эту проблему, другие установили KeepAlive = false. Это не решило проблему. Веб-сервер работает под управлением .NET 3.5 SP1.
Uri serverPath = new Uri(_Url);
// create the request and set the login credentials
_Req = (HttpWebRequest)WebRequest.Create(serverPath);
_Req.KeepAlive = false;
_Req.Credentials = new NetworkCredential(username, password);
_Req.Method = this._Method;
Позвоните на ответ:
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
_ResponseStream = response.GetResponseStream();
Метод для этого - GET. Я попытался изменить время ожидания, но значение по умолчанию достаточно велико, чтобы учесть это.
Другой запрос, который мы выполняем, - это POST для отправки данных на сервер, и мы тоже получаем случайную проблему. На это не влияют брандмауэры, и мы исключили антивирусный сканер. Будем благодарны за любые идеи, которые помогут решить эту проблему!