В сборките на ServiceStack за .NET 6+ HTTP Utils създава ленив споделен HttpClient. Задайте фабриката на манипулатора при инициализацията на приложението, преди първото извикване на помощника:

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
    };

Ако споделеният клиент вече съществува, промяната на тази фабрика не го преконфигурира. Този момент е първата проверка, когато по-късно присвояване изглежда неефективно. HTTP крайна точка от списъка с HTTP проксита може да бъде избрана за публичен маршрут преди създаването на този споделен клиент.

За профил за прокси задайте WebProxy.Credentials чрез конфигурацията на приложението. HttpClientHandler.UseDefaultCredentials се отнася до профила на сървъра и не попълва автоматично данните за достъп на този прокси обект.

По-стар пример с HttpWebRequest и requestFilter е насочен към предишната реализация. В новата форма конфигурацията на заявката покрива полетата на заявката, докато манипулаторът отговаря за маршрутизирането на връзката.

Запазете съществуваща фабрика за персонализиран клиент или схема за собственост на фабрика за HTTP клиент на приложението, ако вече е инсталирана. Тази фабрика на манипулатора е споделена политика; едновременните несвързани маршрути се нуждаят от отделно притежавани клиенти.

Подобни статии