.NET IHttpClientFactory: adlandırılmış müştərinin proksisini konfiqurasiya edin
IHttpClientFactory adlandırılmış müştərisinin əsas handlerinə proksi əlavə edin və çağırış yerində həmin adı götürün.
Bir adlandırılmış HttpClient üçün konfiqurasiya edilmiş proksi IHttpClientFactory-nin qaytardığı hər müştərini avtomatik konfiqurasiya etmir. Qeydiyyat adını və tələb olunan adı birlikdə saxlayın.
services.AddHttpClient("via-proxy")
.ConfigurePrimaryHttpMessageHandler(() => new HttpClientHandler
{
Proxy = new WebProxy("http://203.0.113.10:8080"),
UseProxy = true
});Sonra həmin adlandırılmış konfiqurasiyanı götürün:
var client = factory.CreateClient("via-proxy");Son nöqtə nümunə xarakteri daşıyır. İcazə verilən ictimai xidmət sorğuları üçün HTTP proksi siyahısı adlandırılmış müştərinin WebProxy URL-i üçün namizədlər təqdim edir. Defolt adsız müştərini başqa yerdə yaratmaq fərqli bir axtarışdır, hətta hər iki müştəri eyni inyeksiya olunmuş fabrikdən gəlsə də.
Əlaqə səviyyəsində proksi davranışını əsas handlerdə konfiqurasiya edin, onu təyinat sorğusu başlığı kimi qəbul etməyin. Fabrik handler ömürlərini qaytardığı HttpClient obyektlərindən ayrı idarə edə bilər.
Əgər çağırışa tipli müştəri və ya başqa SDK sahibdirsə, hansı qeydiyyatın onun HttpClient-ini təmin etdiyini yoxlayın. Düzgün konfiqurasiya edilmiş, lakin heç vaxt istifadə olunmayan adlandırılmış müştəri həmin SDK-nın şəbəkə yoluna təsir etmir.
Bu konfiqurasiyanı sabit marşrutlaşdırma siyasəti üçün istifadə edin. Əməliyyatlar arasında canlı handlerin dəyişdirilməsi ayrı bir paralellik və ömür problemi olaraq qalır.