Proxy nakonfigurovaná pro jednoho pojmenovaného HttpClient automaticky nenakonfiguruje každého klienta, kterého IHttpClientFactory vrací. Udržujte název registrace a požadovaný název pohromadě.

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

Poté tuto pojmenovanou konfiguraci získejte:

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

Koncový bod je ilustrativní. Pro povolené požadavky na veřejné služby seznam HTTP proxy nabízí kandidáty pro WebProxy URL pojmenovaného klienta. Vytvoření výchozího nepojmenovaného klienta jinde je jiné vyhledání, i když oba klienti pocházejí ze stejné injektované továrny.

Konfigurujte chování proxy na úrovni připojení na primárním handleru, místo abyste s ním zacházeli jako s hlavičkou požadavku na cíl. Továrna může spravovat životnosti handlerů odděleně od objektů HttpClient, které vrací.

Pokud volání vlastní typovaný klient nebo jiné SDK, zkontrolujte, která registrace dodává jeho HttpClient. Správně nakonfigurovaný pojmenovaný klient, který se nikdy nepoužívá, neovlivňuje síťovou cestu tohoto SDK.

Tuto konfiguraci používejte pro stabilní politiku směrování. Změna živého handleru mezi operacemi zůstává samostatným problémem souběžnosti a životnosti.

Související články