Држете посебен .NET обработувач за секоја прокси сметка
Изградете посебни обработувачи за истовремени сметки наместо да го заменувате WebProxy.Credentials на транспорт што веќе опслужува барања.
Транспортот може да го задржи објектот на давателот на прокси акредитиви избран при создавањето на неговиот управувач со базен. Замената на WebProxy.Credentials потоа не е сигурна операција за промена на сметка.
Создајте ја рутата и сметката заедно пред да го користите клиентот:
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);Крајната точка и акредитивите доаѓаат од конфигурацијата на апликацијата. Изградете друг обработувач за втор идентитет; друг HttpClient што го дели првиот обработувач ја дели и неговата политика.
Прилагоден давател на ICredentials може да одговара на подоцнежни предизвици, но не може да го преозначи воспоставениот тунел како друга сметка. Доделувањето едно глобално корисничко име/лозинка околу асинхрони повици ги остава времето на предизвикот и сопственоста на сметката во конфликт.
Држете ограничен сет клиенти кога е потребно повторно користење. Исцедете ја старата работа пред да го отфрлите неговиот транспорт. Нов обработувач по барање ги троши базените за врски; чувањето на секоја историска сметка засекогаш ги расте без граница.