2008-11-03 4 views
0

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

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

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

ответ

1

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

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

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

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

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