У зборках 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-кліента праграмы. Гэтая фабрыка апрацоўшчыка — агульная палітыка; адначасовыя незвязаныя маршруты патрабуюць асобна ўласных кліентаў.

Падобныя артыкулы