Itapon ang mga Tugon ng HttpWebRequest Sa Pagitan ng mga Kahilingan sa Proxy
Bigyan ang mga lumang tugon ng HttpWebRequest ng malinaw na habang-buhay upang ang paulit-ulit na kahilingan sa proxy ay hindi maghawak ng mga mapagkukunan ng koneksyon nang walang hanggan.
using (WebResponse response = request.GetResponse())
{
response.GetResponseStream().CopyTo(destination);
}
Panatilihin ang bawat lumang tugon ng HttpWebRequest sa isang saklaw na tinatapos ang paggamit nito at nagpapalaya rito. Dito ang destination ay ang naisusulat na output stream ng application; pinapalaya ng using block ang WebResponse kahit mabigo ang pagkopya, nang hindi kinukuha ang pagmamay-ari ng output na iyon.
Ang pagtatagumpay ng isang kahilingan sa proxy at paghihintay ng mga kasunod ay maaaring magpahiwatig ng mga tugon na hindi pa tapos na sumasakop sa mga mapagkukunan ng koneksyon. Ang pagtanggap lamang ng WebResponse ay hindi nagtatapos sa katawan nito. Ang timeout ng kahilingan ay naglilimita sa paghihintay, hindi sa habang-buhay ng bawat tugon na nakuha na.
Ilapat ang parehong pagmamay-ari sa mga error. Ang WebException ay maaaring magdala ng tugon na sinusuri ng iyong code; isara ito pagkatapos ng pagsusuri. Ang pagkabigo sa transportasyon ay maaaring walang tugon.
Ang pagtatapon ay nagbabalik ng mga mapagkukunan ng tugon ngunit hindi nangangako ng mga magagamit muli na koneksyon sa lahat ng kaso. Mahalaga pa rin ang protocol, server at paggamit ng katawan.
Ito ay tungkol sa pagpapanatili ng lumang stack ng WebRequest. Sa mas bagong code, sundin ang pagmamay-ari ng tugon/stream ng aktwal na kliyente; para sa HttpClient, panatilihin ang mga tugon sa saklaw ng pagtatapon nito, at kilalanin ang pagkabigong ito sa paglilinis nang hiwalay sa pagpapatotoo ng proxy o pagpili ng ruta.