.NET 3.x Слишком долгий первый GET_HTTP запрос - C#

Узнай цену своей работы

Формулировка задачи:

Доброго времени суток. Столкнулся с такой проблемой: У меня есть функция
public string GET_HTTP(string url)
        {
            try
            {
                System.Net.ServicePointManager.ServerCertificateValidationCallback = delegate { return true; };
                System.Net.WebRequest reqGet = System.Net.WebRequest.Create(url);
                System.Net.WebResponse resp = reqGet.GetResponse();
                System.IO.Stream stream = resp.GetResponseStream();
                System.IO.StreamReader sr = new System.IO.StreamReader(stream);
                string html = sr.ReadToEnd();
                return html;
            }
            catch
            {
                return "connection_error";
            }
        }
И, вроде бы, она работает. Отсылает запросы, и даже возвращает значения, но делает на это Ооочень медлено. В среднем, требуется около 40 секунд на запрос. При отладке застревает на 40 секунд на строке System.Net.WebResponse resp = reqGet.GetResponse(); Один нюанс: Застревание происходит лишь при отсылании первого запроса. Дальнейшие запросы отсылаются быстро. Подскажите, кто сможет, почему так происходит? И как это исправить?

Решение задачи: «.NET 3.x Слишком долгий первый GET_HTTP запрос»

textual
Листинг программы
private static string GET(string Url)
        {
            try
            {
                using (var webClient = new WebClient())
                return webClient.DownloadString(Url);
            }
            catch
            {
                return "connection_error";
            }
        }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

10   голосов , оценка 3.8 из 5
Похожие ответы