У збірках 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-клієнта застосунку. Ця фабрика обробника є спільною політикою; одночасним незв'язаним маршрутам потрібні окремо власні клієнти.

Схожі статті