Frigjer HttpWebRequest-svar mellom proxyførespurnader
Gje eldre HttpWebRequest-svar ei tydeleg levetid slik at gjentekne proxyførespurnader ikkje held tilkoplingsressursar ubestemt.
using (WebResponse response = request.GetResponse())
{
response.GetResponseStream().CopyTo(destination);
}
Hald kvart eldre HttpWebRequest-svar i eit omfang som fullfører forbruket og frigjer det. Her er destination den skrivbare utdatastraumen til applikasjonen; using-blokka frigjer WebResponse sjølv om kopieringa mislukkast, utan å ta over eigarskapen til den utdataen.
At éin proxyførespurnad lukkast og seinare ventar, kan tyde på ufullstendige svar som opptek tilkoplingsressursar. Berre det å ta imot WebResponse fullfører ikkje kroppen. Tidsavbrotet for førespurnaden avgrensar ei venting, ikkje levetida til kvart svar som alt er henta.
Bruk same eigarskap på feil. Ein WebException kan bera eit svar som koden din undersøkjer; lukk det etter undersøkinga. Ein transportfeil kan heilt mangla svar.
Frigjering gjev tilbake ressursane til svaret, men lovar ikkje gjenbrukbare tilkoplingar i alle tilfelle. Protokoll, tenar og kroppsforbruk tel framleis.
Dette gjeld vedlikehald av den eldre WebRequest-stakken. I nyare kode, følg svar-/straumeigarskapen til den faktiske klienten; for HttpClient, hald svar innanfor frigjeringsomfanget, og skil denne ryddefeilen frå proxyautentisering eller ruteval.