ускорить HttpWebRequest - PullRequest
       34

ускорить HttpWebRequest

0 голосов
/ 18 июня 2020

Привет всем, так как я здесь новенький, надеюсь, это правильное место. Я пробую HttpWebRequest, чтобы проверить код состояния (в данном случае ответ) с разных веб-сайтов. При ОК ответ очень быстрый и без зависания формы. При сбое подключения форма зависает, и это может занять около 5 секунд, и это можно сделать с помощью фонового рабочего. Но есть ли способ сказать, что нет ответа в течение 1 секунды, забудьте об этом и go о следующем.

 try
        {

            string url;
            url = (LoopUrlFromListboxOrStream ) ; //example

            // Creates an HttpWebRequest for the specified URL.
            HttpWebRequest myHttpWebRequest = (HttpWebRequest)WebRequest.Create(url);
            // Sends the HttpWebRequest and waits for a response.
            HttpWebResponse myHttpWebResponse = (HttpWebResponse)myHttpWebRequest.GetResponse();
            if (myHttpWebResponse.StatusCode == HttpStatusCode.OK)
                label1.Text = (myHttpWebResponse.StatusDescription);
            // Releases the resources of the response.
            myHttpWebResponse.Close();
        }
        catch (WebException ex)
        {
            label2.Text = (ex.Status.ToString());
        }
        catch (Exception ex)
        {
            label2.Text = (ex.Message.ToString());
        }

1 Ответ

0 голосов
/ 18 июня 2020

Установите для свойства HttpWebRequest.Timeout достаточно низкое значение, которое соответствует вашим потребностям.

В вашем случае

myHttpWebRequest.Timeout = 1;

Перед выполнением GetResponse ()

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...