Я создал программу, которая загружает данные из HTTP-запроса.
Он должен загружать его каждые 1 секунду или 0,25 секунды .
Однако я обнаружил, что многие из моих запросов - несколько раз в минуту - истекли.
Это странно, потому что, пытаясь перезагрузить один и тот же адрес в веб-браузере, даже при частой перезагрузке, я всегда быстро получаю содержимое.
Это код, который я использую:
HttpWebRequest myRequest = (HttpWebRequest)WebRequest.Create(url);
myRequest.Method = "GET";
myRequest.Timeout = 1500;
myRequest.KeepAlive = false;
myRequest.ContentType = "text/xml";
WebResponse myResponse;
try
{
myResponse = myRequest.GetResponse();
}
catch (Exception e)
{
return e.Message;
}
StreamReader sr = new StreamReader(myResponse.GetResponseStream(), System.Text.Encoding.UTF8);
string result = sr.ReadToEnd();
sr.Close();
myResponse.Close();
И ошибка, которую я получаю:
The operation has timed out
Я пытался установить для обоих keepalive значение true и false.
Итак, вопрос в том, есть ли способ уменьшить количество тайм-аутов? Каждый запрос, который я запрашиваю, имеет решающее значение.
Я почти уверен, что это связано с тем, что я часто запрашиваю один и тот же адрес, но наверняка есть способ предотвратить это ...?
Большое спасибо!