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

Aici clients este IFlurlClientCache din Flurl 4. Alegeți ruta înainte de căutare și dați clientului său reutilizabil un nume stabil. Pentru cererile publice permise, lista de proxy-uri HTTP oferă candidați pentru URL-ul WebProxy al handlerului intern. Reutilizarea proxy-east cu o valoare proxy nouă nu este o reconfigurare per cerere a clientului deja păstrat acolo.

Folosiți API-ul de handler potrivit tipului ales de aplicație; Flurl documentează o altă cale de configurare pentru SocketsHttpHandler.

Păstrați ruta selectată în metadatele operației și apelați prin clientul corespunzător. O alegere aleatorie de fiecare dată când este consultată o factory poate altfel oferi unei singure sarcini logice politici inconsistente.

Dețineți cache-ul pentru un domeniu de aplicație și limitați-i creșterea. O listă temporară de proxy în schimbare poate acumula clienți și resurse; folosiți identificatori de rută siguri pentru nume/jurnale în loc de parole încorporate.

Aceasta folosește interfața de cache cu nume din Flurl 4 în loc să copieze infrastructura veche de factory personalizată sau să schimbe un handler în uz în timpul unei alte cereri.

Articole similare