var client = clients.GetOrAdd(
    "proxy-east",
    "https://example.com",
    builder => builder.ConfigureInnerHandler(handler =>
        handler.Proxy = new WebProxy("http://203.0.113.10:8080")));

Aquí clients é o IFlurlClientCache de Flurl 4. Escolla a ruta antes da busca e dea un nome estable ao seu cliente reutilizable. Para as solicitudes públicas permitidas, a lista de proxies HTTP ofrece candidatos para o URL de WebProxy do controlador interno. Reutilizar proxy-east cun valor de proxy novo non é unha reconfiguración por solicitude do cliente que xa se conserva alí.

Use a API de controlador que corresponda ao tipo escollido pola aplicación; Flurl documenta outra ruta de configuración para SocketsHttpHandler.

Manteña a ruta seleccionada nos metadatos da operación e chame polo seu cliente correspondente. Unha elección aleatoria cada vez que se consulta unha fábrica pode, doutro xeito, dar a unha mesma tarefa lóxica políticas incoherentes.

Sexa propietario da caché para un ámbito de aplicación e limite o seu crecemento. Unha lista temporal de proxies cambiante pode acumular clientes e recursos; use identificadores de ruta seguros para nomes/revistas en lugar de contrasinais incrustados.

Isto usa a interface de caché con nome de Flurl 4 en lugar de copiar infraestrutura de fábrica personalizada antiga ou cambiar un controlador vivo durante outra solicitude.

Artigos relacionados