Մեկ անվանված HttpClient-ի համար կարգավորված proxy-ն ինքնաշխատ չի կարգավորում IHttpClientFactory-ի վերադարձրած յուրաքանչյուր հաճախորդ։ Գրանցման անվանումը և պահանջված անվանումը պահեք միասին։

services.AddHttpClient("via-proxy")
    .ConfigurePrimaryHttpMessageHandler(() => new HttpClientHandler
    {
        Proxy = new WebProxy("http://203.0.113.10:8080"),
        UseProxy = true
    });

Այնուհետև ստացեք այդ անվանված կոնֆիգուրացիան.

var client = factory.CreateClient("via-proxy");

Վերջնակետը որպես օրինակ է։ Թույլատրված հանրային ծառայությունների հարցումների համար HTTP proxy-ների ցանկը թեկնածուներ է առաջարկում անվանված հաճախորդի WebProxy URL-ի համար։ Լռելյայն անանուն հաճախորդն այլ տեղ ստեղծելը այլ որոնում է, նույնիսկ եթե երկու հաճախորդներն էլ գալիս են նույն ներարկված գործարանից։

Կարգավորեք proxy-ի վարքը միացման մակարդակում հիմնական handler-ի վրա՝ փոխարենը այն չդիտարկելով որպես նպատակակետի հարցման գլխիկ։ Գործարանը կարող է կառավարել handler-ների կյանքի տևողությունը առանձին վերադարձվող HttpClient օբյեկտներից։

Եթե կանչը պատկանում է տիպավորված հաճախորդի կամ այլ SDK-ի, ստուգեք, թե որ գրանցումն է ապահովում նրա HttpClient-ը։ Ճիշտ կարգավորված անվանված հաճախորդը, որը երբեք չի օգտագործվում, չի ազդում այդ SDK-ի ցանցային ուղու վրա։

Օգտագործեք այս կոնֆիգուրացիան կայուն երթուղավորման քաղաքականության համար։ Գործող handler-ի փոփոխությունը գործողությունների միջև մնում է առանձին զուգահեռականության և կյանքի տևողության խնդիր։

Առնչվող հոդվածներ