.NET IHttpClientFactory: konfigurere proxy for den navngitte klienten
Fest en proxy til primærbehandleren til en navngitt IHttpClientFactory-klient og hent det samme navnet på kallstedet.
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.