using (WebResponse response = request.GetResponse())
{
    response.GetResponseStream().CopyTo(destination);
}

Әр ескі HttpWebRequest жауабын оны тұтынуды аяқтайтын және босататын ауқымда ұстаңыз. Мұнда destination қолданбаның жазылатын шығыс ағыны; using блогы көшіру сәтсіз болса да WebResponse-ты босатады, сол шығыстың меншігін өзіне алмай.

Бір прокси сұрауының сәтті болуы және кейінгілердің күтуі аяқталмаған жауаптардың қосылым ресурстарын алып жатқанын көрсетуі мүмкін. WebResponse-ты жай ғана алу оның денесін аяқтамайды. Сұрау тайм-ауты күтуді шектейді, әлдеқашан алынған әрбір жауаптың өмір сүру мерзімін емес.

Сол меншікті қателерге де қолданыңыз. WebException кодыңыз тексеретін жауапты алып жүруі мүмкін; тексеруден кейін оны жабыңыз. Тасымалдау ақауында жауап мүлде болмауы мүмкін.

Босату жауаптың ресурстарын қайтарады, бірақ әр жағдайда қайта пайдалануға болатын қосылымдарды уәде етпейді. Хаттама, сервер және денені тұтыну әлі де маңызды.

Бұл ескі WebRequest стекін техникалық қолдауға қатысты. Жаңарақ кодта нақты клиенттің жауап/ағын меншігін ұстаныңыз; HttpClient үшін жауаптарды олардың босату ауқымында ұстаңыз, және бұл тазалау ақауын прокси аутентификациясынан немесе маршрут таңдауынан бөлек анықтаңыз.

Қатысты мақалалар