.NET IHttpClientFactory: pag-configure ng proxy ng pinangalanang client
Ikabit ang isang proxy sa pangunahing handler ng pinangalanang client ng IHttpClientFactory at gamitin ang parehong pangalan sa call site.
Ang isang proxy na naka-configure para sa isang pinangalanang HttpClient ay hindi awtomatikong nagko-configure sa bawat client na ibinabalik ng IHttpClientFactory. Panatilihing magkasama ang pangalan ng rehistro at ang hinihiling na pangalan.
services.AddHttpClient("via-proxy")
.ConfigurePrimaryHttpMessageHandler(() => new HttpClientHandler
{
Proxy = new WebProxy("http://203.0.113.10:8080"),
UseProxy = true
});Pagkatapos, kunin ang pinangalanang configuration na iyon:
var client = factory.CreateClient("via-proxy");Ang endpoint ay ilustratibo lamang. Para sa mga pinapayagang kahilingan sa pampublikong serbisyo, ang listahan ng HTTP proxy ay nagbibigay ng mga kandidato para sa WebProxy URL ng pinangalanang client. Ang paglikha ng default na walang pangalang client sa ibang lugar ay ibang paghahanap, kahit na ang parehong client ay nagmula sa parehong iniksyong pabrika.
I-configure ang pag-uugali ng proxy sa antas ng koneksyon sa pangunahing handler sa halip na ituring itong header ng kahilingan sa destinasyon. Maaaring pamahalaan ng pabrika ang tagal ng buhay ng mga handler nang hiwalay sa mga object na HttpClient na ibinabalik nito.
Kung ang tawag ay pagmamay-ari ng isang naka-type na client o ibang SDK, tingnan kung aling rehistro ang nagbibigay ng HttpClient nito. Ang wastong naka-configure na pinangalanang client na hindi kailanman ginagamit ay hindi nakakaapekto sa network path ng SDK na iyon.
Gamitin ang configuration na ito para sa isang matatag na patakaran sa routing. Ang pagpapalit ng live na handler sa pagitan ng mga operasyon ay nananatiling hiwalay na problema sa concurrency at tagal ng buhay.