In den .NET 6+-Builds von ServiceStack erstellt HTTP Utils einen verzögerten gemeinsamen HttpClient. Legen Sie dessen Handler-Fabrik während der Anwendungsinitialisierung fest, bevor der erste Hilfsaufruf erfolgt:

ServiceStack.HttpUtils.HttpClientHandlerFactory = () =>
    new System.Net.Http.HttpClientHandler
    {
        UseProxy = true,
        Proxy = new System.Net.WebProxy("http://proxy.example:8080"),
        AutomaticDecompression =
            System.Net.DecompressionMethods.Brotli |
            System.Net.DecompressionMethods.Deflate |
            System.Net.DecompressionMethods.GZip
    };

Wenn der gemeinsame Client bereits existiert, konfiguriert eine Änderung dieser Fabrik ihn nicht neu. Dieser Zeitpunkt ist die erste Prüfung, wenn eine spätere Zuweisung wirkungslos erscheint. Ein HTTP-Endpunkt aus der HTTP-Proxy-Liste kann für eine öffentliche Route gewählt werden, bevor dieser gemeinsame Client erstellt wird.

Für ein Proxy-Konto legen Sie WebProxy.Credentials über die Konfiguration der Anwendung fest. HttpClientHandler.UseDefaultCredentials betrifft das Serverkonto und füllt nicht automatisch die Anmeldeinformationen dieses Proxy-Objekts aus.

Ein älteres HttpWebRequest-requestFilter-Beispiel zielt auf die frühere Implementierung. In der neueren Form deckt die Anforderungskonfiguration Anforderungsfelder ab, während der Handler das Verbindungsrouting besitzt.

Behalten Sie eine bereits installierte Fabrik für benutzerdefinierte Clients oder die Eigentümerschaftsregelung der HTTP-Client-Fabrik der Anwendung bei. Diese Handler-Fabrik ist eine gemeinsame Richtlinie; gleichzeitige unabhängige Routen benötigen getrennt gehörende Clients.

Ähnliche Artikel