En proxy som er satt opp for én navngitt HttpClient, setter ikke automatisk opp hver klient som IHttpClientFactory returnerer. Registreringsnavnet og det etterspurte navnet må høre sammen.

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

Deretter henter du den navngitte konfigurasjonen:

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

Endepunktet er bare et eksempel. For tillatte forespørsler til offentlige tjenester gir HTTP-proxylisten kandidater til den navngitte klientens WebProxy-URL. Å lage standardklienten uten navn et annet sted er et annet oppslag, selv om begge klientene kommer fra den samme injiserte fabrikken.

Konfigurer proxyoppførsel på tilkoblingsnivå i primærbehandleren i stedet for å behandle den som en header for destinasjonsforespørselen. Fabrikken kan styre levetiden til behandlerne atskilt fra HttpClient-objektene den returnerer.

Hvis kallet eies av en typet klient eller en annen SDK, kontroller hvilken registrering som leverer HttpClient-en. En korrekt konfigurert navngitt klient som aldri brukes, påvirker ikke nettverksbanen til den SDK-en.

Bruk denne konfigurasjonen for en stabil rutingstrategi. Å skifte en aktiv behandler mellom operasjoner er fortsatt et eget problem med samtidighet og levetid.

Relaterte artikler