În build-urile ServiceStack pentru .NET 6+, HTTP Utils creează un HttpClient partajat și leneș. Setați fabrica de handler în timpul inițializării aplicației, înainte de primul apel al ajutorului:

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

Dacă clientul partajat există deja, modificarea acestei fabrici nu îl reconfigurează. Acel moment este prima verificare când o atribuire ulterioară pare ineficientă. Un endpoint HTTP din lista de proxy HTTP poate fi ales pentru o rută publică înainte ca acel client partajat să fie creat.

Pentru un cont de proxy, setați WebProxy.Credentials prin configurația aplicației. HttpClientHandler.UseDefaultCredentials privește contul serverului și nu completează automat credențialele acelui obiect proxy.

Un exemplu mai vechi cu HttpWebRequest și requestFilter vizează implementarea anterioară. În forma mai nouă, configurația cererii acoperă câmpurile cererii, iar handlerul deține rutarea conexiunii.

Păstrați o fabrică de client personalizat existentă sau aranjamentul de proprietate al fabricii de client HTTP al aplicației când una este deja instalată. Această fabrică de handler este o politică partajată; rutele neînrudite simultane au nevoie de clienți deținuți separat.

Articole similare