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

Držite svaki stari HttpWebRequest odgovor u opsegu koji dovršava njegovo trošenje i oslobađa ga. Ovdje je destination izlazni tok aplikacije za pisanje; using blok oslobađa WebResponse čak i ako kopiranje ne uspije, bez preuzimanja vlasništva nad tim izlazom.

Uspjeh jednog proxy zahtjeva i čekanje kasnijih može značiti nedovršene odgovore koji zauzimaju resurse veze. Samo primanje WebResponse ne dovršava njegovo tijelo. Vremensko ograničenje zahtjeva ograničava čekanje, ne životni vijek svakog već dobivenog odgovora.

Primijenite isto vlasništvo na greške. WebException može nositi odgovor koji vaš kod pregleda; zatvorite ga nakon pregleda. Transportni kvar može uopće ne imati odgovor.

Oslobađanje vraća resurse odgovora, ali ne obećava ponovno upotrebljive veze u svakom slučaju. Protokol, poslužitelj i trošenje tijela i dalje su važni.

To se tiče održavanja starog WebRequest stacka. U novijem kodu slijedite vlasništvo odgovora/toka stvarnog klijenta; za HttpClient držite odgovore u njihovom opsegu oslobađanja i razlikujte ovaj kvar čišćenja od proxy autentifikacije ili odabira rute.

Povezani članci