.NET IHttpClientFactory: konfigurisanje proxyja imenovanog klijenta
Priključite proxy na primarni handler imenovanog klijenta IHttpClientFactory i preuzmite isti naziv na mjestu poziva.
Proxy konfigurisan za jedan imenovani HttpClient ne konfiguriše automatski svaki klijent koji vrati IHttpClientFactory. Držite naziv registracije i traženi naziv zajedno.
services.AddHttpClient("via-proxy")
.ConfigurePrimaryHttpMessageHandler(() => new HttpClientHandler
{
Proxy = new WebProxy("http://203.0.113.10:8080"),
UseProxy = true
});Zatim preuzmite tu imenovanu konfiguraciju:
var client = factory.CreateClient("via-proxy");Krajnja tačka je ilustrativna. Za dozvoljene zahtjeve javnih usluga lista HTTP proxyja nudi kandidate za WebProxy URL imenovanog klijenta. Stvaranje zadanog neimenovanog klijenta na drugom mjestu je drugačije pretraživanje, čak i ako oba klijenta dolaze iz iste injektirane fabrike.
Konfigurišite ponašanje proxyja na nivou veze na primarnom handleru, umjesto da ga tretirate kao zaglavlje zahtjeva odredišta. Fabrika može upravljati životnim vijekom handlera odvojeno od HttpClient objekata koje vraća.
Ako poziv posjeduje tipizirani klijent ili drugi SDK, provjerite koja registracija isporučuje njegov HttpClient. Ispravno konfigurisan imenovani klijent koji se nikada ne koristi ne utiče na mrežnu putanju tog SDK-a.
Koristite ovu konfiguraciju za stabilnu politiku usmjeravanja. Promjena živog handlera između operacija ostaje odvojen problem istovremenosti i životnog vijeka.