Alterar um manipulador de proxy do .NET HttpClient já usado pode falhar
Mantenha o roteamento de proxy do .NET estável durante solicitações simultâneas em vez de modificar propriedades do manipulador após o uso.
Configure o roteamento do manipulador .NET antes do primeiro uso. Definir Proxy ou UseProxy depois que as solicitações começarem pode lançar InvalidOperationException.
| Alteração | O que ela não fornece |
|---|---|
| Reescrever uma propriedade de manipulador usado | Um comutador de rota local à solicitação suportado |
Mutar o WebProxy.Address atribuído | Seleção atômica para solicitações simultâneas ou movimentação de conexões agrupadas |
Colocar um valor atual global dentro de IWebProxy | Uma política de concorrência definida apenas movendo o estado |
Para um conjunto limitado de rotas, mantenha clientes/grupos de manipuladores reutilizáveis associados a essas políticas e selecione o cliente antes de enviar. Um IWebProxy personalizado pode tomar decisões deliberadas e seguras para concorrência, mas um valor compartilhado mutável continua ambíguo.
Limite os clientes de rota e o trabalho em andamento por destinos, duração, vida útil da conexão e limites do sistema operacional. Mais rotas adicionam pools/sockets, então o número de proxies de um benchmark não é garantia de capacidade.
Uma nova tentativa por outro proxy é outra tentativa limitada com seu próprio cliente/resultado. Para envios, preserve a possibilidade de que a primeira solicitação tenha sido processada antes de sua resposta desaparecer.