Един транспорт може да запази обекта на доставчика на прокси идентификационни данни, избран при създаването на неговия мениджър на пула. Замяната на 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 може да отговаря на по-късни предизвикателства, но не може да преетикетира установен тунел като друг акаунт. Задаването на едно глобално потребителско име/парола около асинхронни извиквания оставя в конфликт времето на предизвикателството и собствеността на акаунта.

Дръжте ограничен набор от клиенти, когато е нужно повторно използване. Източете старата работа, преди да освободите транспорта ѝ. Нов манипулатор за всяка заявка прахосва пулове от връзки; запазването на всеки исторически акаунт завинаги ги расте без граница.

Подобни статии