Я получаю ответ от HttpWebRequest ( используя модифицированную версию (CCR-оболочки Джеффа Рихтера), затем изучив несколько заголовков, чтобы решить, продолжать загрузку или нет. Иногда мне не хочется продолжать, поэтому я выдаю response.Close и request.Abort < / а>. Нужно ли выдавать GetResponseStream, а затем закрыть поток, или это неявно, когда вызывается ответ .Закрыть?
После запуска GetResponse состояние документов:
Вы должны вызвать метод Close, чтобы закрыть поток и освободить соединение. В противном случае у вашего приложения могут закончиться соединения.
Значит ли это, что если у нас есть ответ, то обязательно получить поток и закрыть его?
Мы наблюдаем довольно странные проблемы, из-за которых зависшие загрузки в конечном итоге забивают систему. Это кажется наиболее сильным кандидатом на утечку ресурсов, но задайтесь вопросом, есть ли у кого-нибудь еще опыт решения этой проблемы.
В качестве отступления: безопасно ли дважды использовать GetResponseStream в предположении, что это один и тот же поток?