.NET IHttpClientFactory: konfigurowanie serwera proxy nazwanego klienta
Dołącz serwer proxy do głównego programu obsługi nazwanego klienta IHttpClientFactory i pobieraj ten sam klient po nazwie w miejscu wywołania.
Serwer proxy skonfigurowany dla jednego nazwanego HttpClient nie konfiguruje automatycznie wszystkich klientów zwracanych przez IHttpClientFactory. Trzymaj nazwę rejestracji i żądaną nazwę razem.
services.AddHttpClient("via-proxy")
.ConfigurePrimaryHttpMessageHandler(() => new HttpClientHandler
{
Proxy = new WebProxy("http://203.0.113.10:8080"),
UseProxy = true
});Następnie pobierz tę nazwaną konfigurację:
var client = factory.CreateClient("via-proxy");Punkt końcowy ma charakter ilustracyjny. W przypadku dozwolonych żądań do usług publicznych lista serwerów proxy HTTP dostarcza kandydatów do adresu URL WebProxy nazwanego klienta. Utworzenie domyślnego klienta bez nazwy w innym miejscu to inne wyszukiwanie, nawet jeśli oba klienty pochodzą z tej samej wstrzykniętej fabryki.
Konfiguruj zachowanie serwera proxy na poziomie połączenia w głównym programie obsługi, zamiast traktować je jako nagłówek żądania docelowego. Fabryka może zarządzać okresem życia programów obsługi niezależnie od zwracanych obiektów HttpClient.
Jeśli wywołanie należy do typowanego klienta lub innego zestawu SDK, sprawdź, która rejestracja dostarcza jego HttpClient. Poprawnie skonfigurowany nazwany klient, który nigdy nie jest używany, nie wpływa na ścieżkę sieciową tego zestawu SDK.
Używaj tej konfiguracji do stabilnej polityki routingu. Zmiana działającego programu obsługi między operacjami pozostaje osobnym problemem współbieżności i okresu życia.