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

Ici, clients est l'IFlurlClientCache de Flurl 4. Choisissez l'itinéraire avant la recherche et donnez à son client réutilisable un nom stable. Pour les requêtes publiques autorisées, la liste de proxys HTTP propose des candidats pour l'URL WebProxy du gestionnaire interne. Réutiliser proxy-east avec une nouvelle valeur de proxy n'est pas une reconfiguration par requête du client déjà conservé à cet endroit.

Utilisez l'API de gestionnaire correspondant au type choisi par l'application ; Flurl documente un autre chemin de configuration pour SocketsHttpHandler.

Conservez l'itinéraire sélectionné dans les métadonnées de l'opération et appelez via son client correspondant. Un choix aléatoire à chaque consultation d'une fabrique peut sinon donner à une même tâche logique des politiques incohérentes.

Possédez le cache pour une portée d'application et bornez sa croissance. Une liste temporaire de proxys changeante peut accumuler des clients et des ressources ; utilisez des identifiants d'itinéraire sûrs pour les noms/journaux plutôt que des mots de passe intégrés.

Ceci utilise l'interface de cache nommé de Flurl 4 au lieu de copier une ancienne infrastructure de fabrique personnalisée ou de changer un gestionnaire actif pendant une autre requête.

Articles similaires