Panatilihin ang hiwalay na .NET handler para sa bawat proxy account
Bumuo ng hiwalay na mga handler para sa sabay-sabay na account sa halip na palitan ang WebProxy.Credentials sa isang transport na naglilingkod na ng mga kahilingan.
Maaaring panatilihin ng transport ang object ng tagapagbigay ng proxy credential na pinili nang gawin ang manager ng pool nito. Ang pagpalit ng WebProxy.Credentials pagkatapos ay hindi maaasahang operasyon ng paglipat ng account.
Gawin ang ruta at account nang sabay bago gamitin ang client:
var proxy = new System.Net.WebProxy(proxyEndpoint)
{
Credentials = new System.Net.NetworkCredential(proxyUser, proxyPassword)
};
var handler = new System.Net.Http.HttpClientHandler
{
UseProxy = true,
Proxy = proxy
};
var client = new System.Net.Http.HttpClient(handler);Ang endpoint at mga kredensyal ay galing sa configuration ng application. Bumuo ng isa pang handler para sa pangalawang pagkakakilanlan; ang isa pang HttpClient na gumagamit ng unang handler ay gumagamit din ng patakaran nito.
Maaaring sagutin ng custom na tagapagbigay ng ICredentials ang mga susunod na hamon, ngunit hindi nito muling maikakategorya ang isang naitatag na tunnel bilang ibang account. Ang pagtatalaga ng isang pandaigdigang username/password sa paligid ng mga async na tawag ay nag-iiwan ng oras ng hamon at pagmamay-ari ng account sa hidwaan.
Panatilihin ang limitadong hanay ng client kapag kailangan ang muling paggamit. I-drain ang lumang trabaho bago itapon ang transport nito. Ang bagong handler kada kahilingan ay nagsasayang ng mga pool ng koneksyon; ang pagpapanatili ng bawat makasaysayang account magpakailanman ay nagpapalaki sa kanila nang walang hangganan.