Transport lahko obdrži objekt ponudnika proxy poverilnic, izbran ob ustvarjanju njegovega upravitelja nabora. Zamenjava WebProxy.Credentials pozneje ni zanesljiva operacija zamenjave računa.

Ustvarite pot in račun skupaj, preden uporabite odjemalca:

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

Končna točka in poverilnice prihajajo iz konfiguracije aplikacije. Za drugo identiteto ustvarite drug handler; drug HttpClient, ki si deli prvi handler, si deli tudi njegovo politiko.

Ponudnik ICredentials po meri lahko odgovori na poznejše izzive, vendar vzpostavljenega tunela ne more preoznačiti kot drug račun. Dodeljevanje enega globalnega uporabniškega imena/gesla okoli asinhronih klicev pusti čas izziva in lastništvo računa v konfliktu.

Ko je potrebna ponovna uporaba, obdržite omejen nabor odjemalcev. Izpraznite staro delo, preden odstranite njegov transport. Nov handler na zahtevo zapravlja nabore povezav; hramba vseh zgodovinskih računov za vedno jim omogoča rast brez meje.

Sorodni članki