Почему HttpWebRequest иногда выдает OperationCanceledException или WebException.timeout? - PullRequest
2 голосов
/ 14 марта 2019

Недавно я столкнулся с серьезной проблемой, когда использую HttWebRequest для проверки функции timeout и ReadWriteTimeout в моем проекте.

Есть два кода раздела, первый бросок

Необработанное исключение: System.Net.WebException: истекло время ожидания операции.at System.Net.HttpWebRequest.GetResponse ()

HttpWebRequest request = (HttpWebRequest) WebRequest.Create("https://www.stackoverflow.com");
request.Timeout = 5000;
HttpWebResponse response = (HttpWebResponse) request.GetResponse();

HttpWebRequest request2 = (HttpWebRequest) WebRequest.Create("https://www.stackoverflow.com");
request2.Timeout = 1;
 HttpWebResponse response2 = (HttpWebResponse) request2.GetResponse();

и следующий код кода выбросить

необработанное исключение: System.OperationCanceledException: операция была отменена.at System.Net.HttpWebRequest.GetResponse ()

HttpWebRequest request = (HttpWebRequest) WebRequest.Create("https://www.stackoverflow.com");
request.Timeout = 5000;
HttpWebResponse response = (HttpWebResponse) request.GetResponse();

request = (HttpWebRequest) WebRequest.Create("https://www.stackoverflow.com");
request.Timeout = 1;
response = (HttpWebResponse) request.GetResponse();

Я озадачен, почему он вызовет другое исключение?

Я думаю, одна из возможных причин - это keep-alive.по умолчанию?но у меня закружилась голова.

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