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

Мұнда clients — Flurl 4-тің IFlurlClientCache. Маршрутты іздеуден бұрын таңдап, оның қайта пайдаланылатын клиентіне тұрақты атау беріңіз. Рұқсат етілген жалпыға ортақ сұраныстар үшін HTTP прокси тізімі ішкі handler-дің WebProxy URL-іне үміткерлерді ұсынады. proxy-east-ні жаңа прокси мәнімен қайта пайдалану — онда бұрыннан сақталған клиентті әр сұраныс сайын қайта конфигурациялау емес.

Қолданба таңдаған түрге сәйкес келетін handler API-ін пайдаланыңыз; Flurl SocketsHttpHandler үшін басқа конфигурация жолын құжаттайды.

Таңдалған маршрутты операция метадеректерінде сақтап, оның сәйкес клиенті арқылы шақырыңыз. Фабрикаға әр жолы жүгінгенде кездейсоқ таңдау әйтпесе бір логикалық жұмысқа сәйкессіз саясаттар бере алады.

Кэшті бір қолданба аясына меншіктеп, оның өсуін шектеңіз. Өзгеретін уақытша прокси тізімі клиенттер мен ресурстарды жинақтауы мүмкін; атаулар/журналдар үшін ендірілген құпиясөздердің орнына қауіпсіз маршрут идентификаторларын пайдаланыңыз.

Бұл ескі өзірленген фабрика инфрақұрылымын көшірудің немесе басқа сұраныс кезінде жұмыс істеп тұрған handler-ді ауыстырудың орнына Flurl 4-тің аталған кэш интерфейсін пайдаланады.

Қатысты мақалалар