Дайте стабільне ім'я кешованому проксі-клієнту Flurl 4
Використовуйте кеш клієнтів Flurl, щоб зберігати окремі конфігурації проксі, не застосовуючи випадковий вибір маршруту повторно під час побудови запиту.
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-проксі пропонує кандидатів для URL WebProxy внутрішнього handler. Повторне використання proxy-east з новим значенням проксі — це не переконфігурація вже збереженого там клієнта для кожного запиту.
Використовуйте API handler, що відповідає вибраному застосунком типу; Flurl документує інший шлях конфігурації для SocketsHttpHandler.
Тримайте вибраний маршрут у метаданих операції та викликайте через відповідний клієнт. Випадковий вибір щоразу, коли консультується factory, інакше може дати одному логічному завданню неузгоджені політики.
Володійте кешем у межах області застосунку та обмежуйте його зростання. Мінливий тимчасовий список проксі може накопичувати клієнтів і ресурси; використовуйте безпечні ідентифікатори маршрутів для імен/логів замість вбудованих паролів.
Тут використовується інтерфейс іменованого кешу Flurl 4 замість копіювання старої власної інфраструктури factory або зміни використовуваного handler під час іншого запиту.