Nadaj stabilną nazwę klientowi proxy z pamięci podręcznej Flurl 4
Użyj pamięci podręcznej klientów Flurl, aby zachować odrębne konfiguracje proxy bez wielokrotnego stosowania losowego wyboru trasy podczas budowania żądania.
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.