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

Tutaj clients to IFlurlClientCache z Flurl 4. Wybierz trasę przed wyszukaniem i nadaj jej wielokrotnie używanemu klientowi stabilną nazwę. W przypadku dozwolonych żądań publicznych lista proxy HTTP oferuje kandydatów dla adresu URL WebProxy wewnętrznego handlera. Ponowne użycie proxy-east z nową wartością proxy nie jest rekonfiguracją klienta już tam przechowywanego dla każdego żądania.

Użyj interfejsu API handlera zgodnego z typem wybranym przez aplikację; Flurl dokumentuje inną ścieżkę konfiguracji dla SocketsHttpHandler.

Przechowuj wybraną trasę w metadanych operacji i wywołuj przez odpowiadającego jej klienta. Losowy wybór przy każdym odwołaniu do factory może w przeciwnym razie dać jednemu zadaniu logicznemu niespójne zasady.

Zarządzaj pamięcią podręczną w zakresie aplikacji i ogranicz jej wzrost. Zmieniająca się tymczasowa lista proxy może gromadzić klientów i zasoby; używaj bezpiecznych identyfikatorów tras do nazw/logów zamiast osadzonych haseł.

Wykorzystuje to interfejs nazwanej pamięci podręcznej Flurl 4 zamiast kopiowania starej niestandardowej infrastruktury factory lub zmiany używanego handlera podczas innego żądania.

Powiązane artykuły