HttpWebRequest, известные проблемы с отменой запросов?

StackOverflow https://stackoverflow.com/questions/259950

  •  06-07-2019
  •  | 
  •  

Вопрос

Известны ли проблемы с отменой HTTP-запросов HttpWebRequest? Мы обнаруживаем, что при отмене 4-5 запросов следующий запрос зависает на неопределенное время.

Если с этим нет известных проблем, то я, вероятно, что-то делаю не так ... где хороший пример ресурса, который показывает, как это работает (полное решение, а не пара фрагментов кода)?

Если есть известные проблемы, что я могу сделать, чтобы обойти их, чтобы эффективно отменить столько запросов, сколько мне нужно?

Это было полезно?

Решение

После того как вы отмените запрос, позаботьтесь о том, чтобы закрыть поток ответов, иначе у вас будут утечки.

Я обычно использую " использую " когда получите ответ от веб-запроса, чтобы убедиться, что ответ закрыт:

WebRequest request = WebRequest.Create("http://google.com");

using (WebResponse response = request.GetResponse())
{
   //do my job
}

Таким образом, даже если вы отмените запрос или он выдаст исключение во время чтения ответа, resposne и его поток будут закрыты.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top