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

Hoidke iga vana HttpWebRequesti vastust ulatuses, mis lõpetab selle tarbimise ja vabastab selle. Siin on destination rakenduse kirjutatav väljundvoog; using-plokk vabastab WebResponse'i ka siis, kui kopeerimine ebaõnnestub, võtmata selle väljundi omandiõigust üle.

See, et üks puhverserveri päring õnnestub ja hilisemad ootavad, võib viidata lõpetamata vastustele, mis hõivavad ühenduse ressursse. Ainuüksi WebResponse'i vastuvõtmine ei lõpeta selle keha. Päringu ajalõpp piirab ootamist, mitte iga juba saadud vastuse eluiga.

Rakendage sama omandiõigust vigadele. WebException võib kanda vastust, mida teie kood uurib; sulgege see pärast uurimist. Transporditõrjel ei pruugi vastust üldse olla.

Vabastamine annab vastuse ressursid tagasi, kuid ei taga igal juhul korduskasutatavaid ühendusi. Protokoll, server ja keha tarbimine on endiselt olulised.

See puudutab vana WebRequesti virna hooldust. Uuemas koodis järgige tegeliku kliendi vastuse/voo omandiõigust; HttpClienti puhul hoidke vastused nende vabastamisulatuse sees ja eristage seda puhastustõrget puhverserveri autentimisest või marsruudivalikust.

Seotud artiklid