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

ഓരോ പഴയ HttpWebRequest പ്രതികരണവും അതിന്റെ ഉപയോഗം പൂർത്തിയാക്കി വിട്ടയക്കുന്ന പരിധിയിൽ സൂക്ഷിക്കുക. ഇവിടെ destination ആപ്ലിക്കേഷന്റെ എഴുതാവുന്ന ഔട്ട്പുട്ട് സ്ട്രീം ആണ്; പകർപ്പെടുക്കൽ പരാജയപ്പെട്ടാലും using ബ്ലോക്ക് WebResponse വിട്ടയക്കുന്നു, ആ ഔട്ട്പുട്ടിന്റെ ഉടമസ്ഥത ഏറ്റെടുക്കാതെ.

ഒരു പ്രോക്സി അഭ്യർത്ഥന വിജയിക്കുകയും തുടർന്നുള്ളവ കാത്തിരിക്കുകയും ചെയ്യുന്നത് കണക്ഷൻ വിഭവങ്ങൾ കൈവശപ്പെടുത്തിയ അപൂർണ പ്രതികരണങ്ങളെ സൂചിപ്പിച്ചേക്കാം. WebResponse സ്വീകരിക്കുന്നത് മാത്രം അതിന്റെ ബോഡി പൂർത്തിയാക്കുന്നില്ല. അഭ്യർത്ഥനയുടെ സമയപരിധി കാത്തിരിപ്പ് പരിമിതപ്പെടുത്തുന്നു, ഇതിനകം ലഭിച്ച ഓരോ പ്രതികരണത്തിന്റെയും ആയുസ്സല്ല.

പിശകുകൾക്കും അതേ ഉടമസ്ഥത പ്രയോഗിക്കുക. നിങ്ങളുടെ കോഡ് പരിശോധിക്കുന്ന ഒരു പ്രതികരണം WebException കൊണ്ടുവന്നേക്കാം; പരിശോധനയ്ക്ക് ശേഷം അത് അടയ്ക്കുക. ഗതാഗത പരാജയത്തിന് പ്രതികരണം തന്നെ ഉണ്ടായില്ലെന്നും വരാം.

നീക്കം ചെയ്യൽ പ്രതികരണത്തിന്റെ വിഭവങ്ങൾ തിരികെ നൽകുന്നു, എന്നാൽ എല്ലാ സാഹചര്യങ്ങളിലും പുനരുപയോഗിക്കാവുന്ന കണക്ഷനുകൾ വാഗ്ദാനം ചെയ്യുന്നില്ല. പ്രോട്ടോക്കോൾ, സർവർ, ബോഡി ഉപഭോഗം എന്നിവയ്ക്ക് ഇപ്പോഴും പ്രാധാന്യമുണ്ട്.

ഇത് പഴയ WebRequest സ്റ്റാക്കിന്റെ പരിപാലനവുമായി ബന്ധപ്പെട്ടതാണ്. പുതിയ കോഡിൽ യഥാർത്ഥ ക്ലയന്റിന്റെ പ്രതികരണ/സ്ട്രീം ഉടമസ്ഥത പാലിക്കുക; HttpClient-ന്, പ്രതികരണങ്ങൾ അവയുടെ നീക്കം ചെയ്യൽ പരിധിയിൽ സൂക്ഷിക്കുക, കൂടാതെ ഈ ക്ലീനപ്പ് പരാജയത്തെ പ്രോക്സി പ്രാമാണീകരണത്തിൽ നിന്നോ റൂട്ട് തിരഞ്ഞെടുപ്പിൽ നിന്നോ വേർതിരിച്ച് തിരിച്ചറിയുക.

അനുബന്ധ ലേഖനങ്ങൾ