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

Hier ist clients der IFlurlClientCache von Flurl 4. Wählen Sie die Route vor dem Nachschlagen und geben Sie ihrem wiederverwendbaren Client einen stabilen Namen. Für erlaubte öffentliche Anfragen bietet die HTTP-Proxy-Liste Kandidaten für die WebProxy-URL des inneren Handlers. proxy-east mit einem neuen Proxy-Wert wiederzuverwenden ist keine Neukonfiguration des dort bereits gehaltenen Clients pro Anfrage.

Verwenden Sie die Handler-API, die zum gewählten Typ der Anwendung passt; Flurl dokumentiert einen anderen Konfigurationsweg für SocketsHttpHandler.

Behalten Sie die gewählte Route in den Operationsmetadaten und rufen Sie über den zugehörigen Client auf. Eine zufällige Wahl bei jeder Konsultation einer Factory kann sonst einem logischen Vorgang inkonsistente Richtlinien geben.

Besitzen Sie den Cache für einen Anwendungsbereich und begrenzen Sie sein Wachstum. Eine wechselnde temporäre Proxy-Liste kann Clients und Ressourcen ansammeln; verwenden Sie sichere Routenkennungen für Namen/Logs statt eingebetteter Passwörter.

Dies nutzt die benannte Cache-Schnittstelle von Flurl 4, statt alte eigene Factory-Infrastruktur zu kopieren oder einen laufenden Handler während einer anderen Anfrage zu ändern.

Ähnliche Artikel