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

Тук clients е IFlurlClientCache на Flurl 4. Изберете маршрута преди търсенето и дайте на клиента му за многократна употреба стабилно име. За разрешени публични заявки списъкът с HTTP прокси сървъри предлага кандидати за WebProxy URL на вътрешния handler. Повторното използване на proxy-east с нова прокси стойност не е преконфигуриране за всяка заявка на клиента, който вече се пази там.

Използвайте API на handler-а, който отговаря на избрания от приложението тип; Flurl документира друг път за конфигурация за SocketsHttpHandler.

Пазете избрания маршрут в метаданните на операцията и извиквайте през съответния му клиент. Произволен избор при всяко допитване до фабрика иначе може да даде на една логическа задача непоследователни политики.

Притежавайте кеша за обхват на приложението и ограничете растежа му. Променящ се временен списък с прокси може да натрупа клиенти и ресурси; използвайте безопасни идентификатори на маршрути за имена/логове вместо вградени пароли.

Това използва интерфейса за именуван кеш на Flurl 4 вместо копиране на стара собствена фабрична инфраструктура или смяна на жив handler по време на друга заявка.

Подобни статии