Un proxy configurat pentru un singur HttpClient numit nu configurează automat fiecare client returnat de IHttpClientFactory. Păstrați numele înregistrării și numele solicitat împreună.

services.AddHttpClient("via-proxy")
    .ConfigurePrimaryHttpMessageHandler(() => new HttpClientHandler
    {
        Proxy = new WebProxy("http://203.0.113.10:8080"),
        UseProxy = true
    });

Apoi recuperați acea configurație numită:

var client = factory.CreateClient("via-proxy");

Punctul final este ilustrativ. Pentru cererile permise către servicii publice, lista de proxy-uri HTTP oferă candidați pentru URL-ul WebProxy al clientului numit. Crearea clientului implicit fără nume în altă parte este o altă căutare, chiar dacă ambii clienți provin din aceeași fabrică injectată.

Configurați comportamentul proxy la nivel de conexiune pe handlerul principal, în loc să îl tratați ca un antet de cerere către destinație. Fabrica poate gestiona durata de viață a handlerelor separat de obiectele HttpClient pe care le returnează.

Dacă apelul aparține unui client tipizat sau altui SDK, verificați ce înregistrare furnizează HttpClient-ul acestuia. Un client numit configurat corect, dar niciodată utilizat, nu afectează calea de rețea a acelui SDK.

Folosiți această configurație pentru o politică de rutare stabilă. Schimbarea unui handler activ între operații rămâne o problemă separată de concurență și durată de viață.

Articole similare