Transport si může ponechat objekt poskytovatele proxy přihlašovacích údajů zvolený při vytvoření jeho správce fondu. Nahrazení WebProxy.Credentials poté není spolehlivá operace přepnutí účtu.

Vytvořte trasu a účet společně, než začnete klienta používat:

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

Koncový bod a přihlašovací údaje pocházejí z konfigurace aplikace. Pro druhou identitu vytvořte další handler; jiný HttpClient, který sdílí první handler, sdílí i jeho zásady.

Vlastní poskytovatel ICredentials může odpovídat na pozdější výzvy, ale nemůže přeznačit zavedený tunel na jiný účet. Přiřazení jednoho globálního uživatelského jména/hesla kolem asynchronních volání nechává časování výzvy a vlastnictví účtu v konfliktu.

Když je potřeba opakované použití, udržujte omezenou sadu klientů. Než zlikvidujete transport, vyprázdněte starou práci. Nový handler na každý požadavek plýtvá fondy připojení; uchovávání všech historických účtů navždy je nechává růst bez omezení.

Související články