Un proxy configurat per a un HttpClient amb nom no configura automàticament tots els clients que retorna IHttpClientFactory. Mantén junts el nom del registre i el nom sol·licitat.

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

A continuació, recupera aquesta configuració amb nom:

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

El punt final és il·lustratiu. Per a les sol·licituds permeses a serveis públics, la llista de proxys HTTP ofereix candidats per a l'URL de WebProxy del client amb nom. Crear el client predeterminat sense nom en un altre lloc és una cerca diferent, encara que tots dos clients vinguin de la mateixa fàbrica injectada.

Configura el comportament del proxy a nivell de connexió al gestor principal en lloc de tractar-lo com una capçalera de sol·licitud de destinació. La fàbrica pot gestionar les durades dels gestors per separat dels objectes HttpClient que retorna.

Si un client tipat o un altre SDK posseeix la crida, comprova quin registre proporciona el seu HttpClient. Un client amb nom correctament configurat que no s'utilitza mai no afecta la ruta de xarxa d'aquest SDK.

Utilitza aquesta configuració per a una política d'encaminament estable. Canviar un gestor actiu entre operacions continua sent un problema separat de concurrència i durada.

Articles relacionats