Dê um nome estável ao cliente de proxy em cache do Flurl 4
Use o cache de clientes do Flurl para manter configurações de proxy distintas sem aplicar repetidamente uma escolha aleatória de rota durante a construção da requisição.
var client = clients.GetOrAdd(
"proxy-east",
"https://example.com",
builder => builder.ConfigureInnerHandler(handler =>
handler.Proxy = new WebProxy("http://203.0.113.10:8080")));
Aqui clients é o IFlurlClientCache do Flurl 4. Escolha a rota antes da consulta e dê ao seu cliente reutilizável um nome estável. Para requisições públicas permitidas, a lista de proxies HTTP oferece candidatos para a URL WebProxy do handler interno. Reutilizar proxy-east com um novo valor de proxy não é uma reconfiguração por requisição do cliente já mantido ali.
Use a API de handler correspondente ao tipo escolhido pela aplicação; o Flurl documenta outro caminho de configuração para SocketsHttpHandler.
Mantenha a rota selecionada nos metadados da operação e chame pelo cliente correspondente. Uma escolha aleatória sempre que uma factory é consultada pode, caso contrário, dar a um mesmo trabalho lógico políticas inconsistentes.
Seja dono do cache para um escopo de aplicação e limite o seu crescimento. Uma lista temporária de proxies em mudança pode acumular clientes e recursos; use identificadores de rota seguros para nomes/logs em vez de senhas embutidas.
Isto usa a interface de cache nomeado do Flurl 4 em vez de copiar a antiga infraestrutura de factory personalizada ou alterar um handler em uso durante outra requisição.