Kiekvienai proxy paskyrai laikykite atskirą .NET apdorotuvą
Kurkite atskirus apdorotuvus vienu metu naudojamoms paskyroms, o ne keiskite WebProxy.Credentials transporte, kuris jau aptarnauja užklausas.
Transportas gali išlaikyti proxy prisijungimo duomenų teikėjo objektą, pasirinktą kuriant jo telkinio valdytoją. Vėliau pakeisti WebProxy.Credentials nėra patikima paskyros perjungimo operacija.
Sukurkite maršrutą ir paskyrą kartu prieš naudodami klientą:
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);Galutinis taškas ir prisijungimo duomenys gaunami iš programos konfigūracijos. Antrai tapatybei sukurkite kitą apdorotuvą; kitas HttpClient, bendrinantis pirmąjį apdorotuvą, bendrina ir jo politiką.
Pasirinktinis ICredentials teikėjas gali atsakyti į vėlesnius iššūkius, bet negali perskirti nusistovėjusio tunelio kaip kitos paskyros. Vieno visuotinio vartotojo vardo/slaptažodžio priskyrimas aplink asinchroninius kvietimus palieka iššūkio laiką ir paskyros nuosavybę konflikte.
Kai reikia pakartotinio naudojimo, laikykite ribotą klientų rinkinį. Išleiskite seną darbą prieš atsisakydami jo transporto. Naujas apdorotuvas kiekvienai užklausai švaisto ryšių telkinius; visų istorinių paskyrų amžinas saugojimas leidžia jiems augti be ribų.