Un transport poate păstra obiectul furnizor de acreditări proxy ales la crearea managerului său de pool. Înlocuirea WebProxy.Credentials după aceea nu este o operațiune fiabilă de schimbare a contului.

Creați ruta și contul împreună înainte de a folosi clientul:

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

Punctul final și acreditările provin din configurația aplicației. Creați un alt handler pentru o a doua identitate; un alt HttpClient care partajează primul handler partajează și politica acestuia.

Un furnizor ICredentials personalizat poate răspunde la provocări ulterioare, dar nu poate reeticheta un tunel stabilit ca alt cont. Atribuirea unei singure combinații globale utilizator/parolă în jurul apelurilor asincrone lasă momentul provocării și proprietatea contului în conflict.

Păstrați un set limitat de clienți când este nevoie de reutilizare. Goliți munca veche înainte de a elimina transportul acesteia. Un handler nou pentru fiecare cerere irosește pool-urile de conexiuni; păstrarea tuturor conturilor istorice pentru totdeauna le crește fără limită.

Articole similare