.NET IHttpClientFactory: аталган клиенттин проксисин конфигурациялоо
IHttpClientFactory аталган клиентинин негизги handlerине прокси тиркеп, чакыруу ордунда ошол эле атты алыңыз.
Бир аталган HttpClient үчүн конфигурацияланган прокси IHttpClientFactory кайтарган ар бир клиентти автоматтык түрдө конфигурациялабайт. Каттоо атын жана суралган атты бирге кармаңыз.
services.AddHttpClient("via-proxy")
.ConfigurePrimaryHttpMessageHandler(() => new HttpClientHandler
{
Proxy = new WebProxy("http://203.0.113.10:8080"),
UseProxy = true
});Андан кийин ошол аталган конфигурацияны алыңыз:
var client = factory.CreateClient("via-proxy");Акыркы чекит мисал катары келтирилген. Уруксат берилген коомдук кызмат сурамдары үчүн HTTP прокси тизмеси аталган клиенттин WebProxy URL дареги үчүн талапкерлерди сунуштайт. Демейки атсыз клиентти башка жерде түзүү — башка издөө, эки клиент тең бирдей киргизилген фабрикадан келсе да.
Прокси жүрүм-турумун негизги handlerде туташуу деңгээлинде конфигурациялаңыз, аны багыттоо сурамынын аталышы катары кароонун ордуна. Фабрика handlerлердин жашоо узактыгын өзү кайтарган HttpClient объектилеринен өзүнчө башкара алат.
Эгер чакыруу терилген клиентке же башка SDKга таандык болсо, анын HttpClientин кайсы каттоо берерин текшериңиз. Туура конфигурацияланган, бирок эч качан колдонулбаган аталган клиент ошол SDKнын тармак жолуна таасир этпейт.
Бул конфигурацияны туруктуу маршруттоо саясаты үчүн колдонуңуз. Операциялардын ортосунда иштеп жаткан handlerди алмаштыруу өзүнчө параллелдүүлүк жана жашоо узактыгы маселеси бойдон калат.