En transport kan beholde det proxy-legitimationsudbyderobjekt, der blev valgt, da dens puljemanager blev oprettet. At udskifte WebProxy.Credentials bagefter er ikke en pålidelig kontoswitch.

Opret ruten og kontoen sammen, før klienten bruges:

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);

Slutpunktet og legitimationsoplysningerne kommer fra applikationskonfigurationen. Byg en anden handler til en anden identitet; en anden HttpClient, der deler den første handler, deler også dens politik.

En brugerdefineret ICredentials-udbyder kan svare på senere udfordringer, men den kan ikke omdøbe en etableret tunnel til en anden konto. Tildeling af ét globalt brugernavn/adgangskode omkring asynkrone kald efterlader udfordringstidspunkt og konto-ejerskab i konflikt.

Behold et begrænset sæt klienter, når genbrug er nødvendigt. Dræn gammelt arbejde, før transporten bortskaffes. En ny handler pr. anmodning spilder forbindelsespuljer; at beholde hver historisk konto for evigt får dem til at vokse uden grænse.

Relaterede artikler