Modifier un gestionnaire de proxy .NET HttpClient déjà utilisé peut échouer
Gardez le routage du proxy .NET stable pendant les requêtes concurrentes au lieu de modifier les propriétés du gestionnaire après utilisation.
Configurez le routage du gestionnaire .NET avant la première utilisation. Définir Proxy ou UseProxy après le début des requêtes peut lever InvalidOperationException.
| Changement | Ce qu'il ne fournit pas |
|---|---|
| Réécrire une propriété de gestionnaire déjà utilisée | Un commutateur de route local à la requête pris en charge |
Muter le WebProxy.Address affecté | Une sélection atomique pour les requêtes concurrentes ou le déplacement des connexions mutualisées |
Placer une valeur courante globale dans IWebProxy | Une politique de concurrence définie simplement en déplaçant l'état |
Pour un ensemble borné de routes, conservez des clients/groupes de gestionnaires réutilisables associés à ces politiques et sélectionnez le client avant l'envoi. Un IWebProxy personnalisé peut prendre des décisions délibérées et sûres en concurrence, mais une valeur partagée mutable reste ambiguë.
Limitez les clients de route et le travail en cours selon les destinations, la durée, la durée de vie des connexions et les limites du système d'exploitation. Plus de routes ajoutent des pools/sockets, donc le nombre de proxys d'un benchmark n'est pas une garantie de capacité.
Une nouvelle tentative via un autre proxy est une autre tentative bornée avec son propre client/résultat. Pour les envois, conservez la possibilité que la première requête ait été traitée avant la disparition de sa réponse.