Transport si môže ponechať objekt poskytovateľa proxy prihlasovacích údajov zvolený pri vytvorení jeho správcu fondu. Nahradenie WebProxy.Credentials potom nie je spoľahlivá operácia prepnutia účtu.

Vytvorte trasu a účet spoločne, skôr než začnete klienta používať:

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 prihlasovacie údaje pochádzajú z konfigurácie aplikácie. Pre druhú identitu vytvorte ďalší handler; iný HttpClient, ktorý zdieľa prvý handler, zdieľa aj jeho zásady.

Vlastný poskytovateľ ICredentials môže odpovedať na neskoršie výzvy, ale nemôže preznačiť zavedený tunel na iný účet. Priradenie jedného globálneho používateľského mena/hesla okolo asynchrónnych volaní necháva časovanie výzvy a vlastníctvo účtu v konflikte.

Keď je potrebné opakované použitie, udržujte obmedzenú sadu klientov. Pred zlikvidovaním transportu vyprázdnite starú prácu. Nový handler na každú požiadavku plytvá fondmi pripojení; uchovávanie všetkých historických účtov navždy ich necháva rásť bez obmedzenia.

Súvisiace články