Frelsið HttpWebRequest-svör milli milliþjónabeiðna
Gefðu gömlum HttpWebRequest-svörum skýran líftíma svo endurteknar milliþjónabeiðnir haldi ekki tengingarauðlindum ótímabundið.
using (WebResponse response = request.GetResponse())
{
response.GetResponseStream().CopyTo(destination);
}
Haltu hverju gömlu HttpWebRequest-svari í umfangi sem klárar neyslu þess og frelsar það. Hér er destination skrifanlegi úttaksstraumur forritsins; using-blokkin frelsar WebResponse jafnvel þótt afritunin mistakist, án þess að taka yfir eignarhald á þeim úttak.
Að ein milliþjónabeiðni takist og síðari bíði getur bent til ókláraðra svara sem taka tengingarauðlindir. Að taka einungis við WebResponse klárar ekki líkama þess. Tímamörk beiðninnar takmarka bið, ekki líftíma hvers svars sem þegar hefur fengist.
Beittu sama eignarhaldi á villur. WebException getur borið svar sem kóðinn þinn skoðar; lokaðu því eftir skoðun. Flutningsbilun getur alls ekki haft svar.
Frelsun skilar auðlindum svarsins en lofar ekki endurnýtanlegum tengingum í öllum tilvikum. Samskiptareglur, þjónn og neysla líkamans skipta enn máli.
Þetta varðar viðhald gamla WebRequest-staflans. Í nýrri kóða fylgdu eignarhaldi svars/straums raunverulega skjáborðsins; fyrir HttpClient, haltu svörum innan frelsunarumfangs þeirra, og greindu þessa hreinsunarbilun frá milliþjónaaðkenningu eða leiðarvali.