.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-ді ауыстыру бөлек қатарластық және өмір сүру мәселесі болып қалады.