Proxy konfiguriran za jedan imenovani HttpClient ne konfigurira automatski svaki klijent koji IHttpClientFactory vrati. 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 dohvatite tu imenovanu konfiguraciju:

var client = factory.CreateClient("via-proxy");

Krajnja točka je ilustrativna. Za dopuštene zahtjeve javnih usluga popis HTTP proxyja nudi kandidate za WebProxy URL imenovanog klijenta. Stvaranje zadanog neimenovanog klijenta drugdje je drugačije pretraživanje, čak i ako oba klijenta dolaze iz iste injektirane tvornice.

Konfigurirajte ponašanje proxyja na razini veze na primarnom handleru umjesto da ga tretirate kao zaglavlje zahtjeva odredišta. Tvornica može upravljati životnim vijekom handlera odvojeno od objekata HttpClient koje vraća.

Ako poziv posjeduje tipizirani klijent ili drugi SDK, provjerite koja registracija isporučuje njegov HttpClient. Ispravno konfiguriran imenovani klijent koji se nikad ne koristi ne utječe na mrežni put tog SDK-a.

Koristite ovu konfiguraciju za stabilnu politiku usmjeravanja. Promjena živog handlera između operacija ostaje odvojen problem istodobnosti i životnog vijeka.

Povezani članci