Proxy nakonfigurovaná pre jedného pomenovaného HttpClient automaticky nenakonfiguruje každého klienta, ktorého vráti IHttpClientFactory. Názov registrácie a požadovaný názov musia zostať spolu.

services.AddHttpClient("via-proxy")
    .ConfigurePrimaryHttpMessageHandler(() => new HttpClientHandler
    {
        Proxy = new WebProxy("http://203.0.113.10:8080"),
        UseProxy = true
    });

Potom získajte túto pomenovanú konfiguráciu:

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

Koncový bod je ilustračný. Pre povolené požiadavky na verejné služby zoznam HTTP proxy ponúka kandidátov pre URL WebProxy pomenovaného klienta. Vytvorenie predvoleného nepomenovaného klienta inde je iné vyhľadávanie, aj keď obaja klienti pochádzajú z tej istej vstreknutej továrne.

Správanie proxy konfigurujte na úrovni spojenia v primárnom spracovateľovi, namiesto toho, aby ste ho považovali za hlavičku požiadavky na cieľ. Továreň môže spravovať životnosť spracovateľov oddelene od objektov HttpClient, ktoré vracia.

Ak volanie patrí typizovanému klientovi alebo inému SDK, skontrolujte, ktorá registrácia poskytuje jeho HttpClient. Správne nakonfigurovaný pomenovaný klient, ktorý sa nikdy nepoužije, neovplyvňuje sieťovú cestu tohto SDK.

Túto konfiguráciu používajte na stabilnú politiku smerovania. Výmena aktívneho spracovateľa medzi operáciami zostáva samostatným problémom súbežnosti a životnosti.

Súvisiace články