.NET IHttpClientFactory- အမည်ပေးထားသော client ၏ proxy ကို ပြင်ဆင်ခြင်း
IHttpClientFactory အမည်ပေးထားသော client ၏ အဓိက handler တွင် proxy ကို ချိတ်ဆက်ပြီး ခေါ်ဆိုသည့်နေရာတွင် ထိုအမည်ကို ပြန်သုံးပါ။
အမည်ပေးထားသော HttpClient တစ်ခုအတွက် ပြင်ဆင်ထားသည့် proxy သည် IHttpClientFactory မှ ပြန်ပေးသော client တိုင်းကို အလိုအလျောက် မပြင်ဆင်ပေးပါ။ မှတ်ပုံတင်အမည်နှင့် တောင်းဆိုသည့်အမည်ကို အတူတကွ ထားရှိပါ။
services.AddHttpClient("via-proxy")
.ConfigurePrimaryHttpMessageHandler(() => new HttpClientHandler
{
Proxy = new WebProxy("http://203.0.113.10:8080"),
UseProxy = true
});ထို့နောက် ထိုအမည်ပေးထားသော configuration ကို ရယူပါ-
var client = factory.CreateClient("via-proxy");အဆုံးမှတ်သည် ဥပမာသာဖြစ်သည်။ ခွင့်ပြုထားသော အများပြည်သူဝန်ဆောင်မှု တောင်းဆိုချက်များအတွက် HTTP proxy စာရင်းသည် အမည်ပေးထားသော client ၏ WebProxy URL အတွက် ကိုယ်စားလှယ်လောင်းများကို ပေးသည်။ မူလအတိုင်း အမည်မပါသော client ကို အခြားနေရာတွင် ဖန်တီးခြင်းသည် အခြားရှာဖွေမှုဖြစ်ပြီး client နှစ်ခုစလုံးသည် တူညီသော ထိုးသွင်းထားသည့် factory မှ လာသည့်တိုင်အောင် ဖြစ်သည်။
proxy အပြုအမူကို ဦးတည်ရာ တောင်းဆိုမှု header အဖြစ် မသဘောထားဘဲ အဓိက handler တွင် ချိတ်ဆက်မှုအဆင့်တွင် ပြင်ဆင်ပါ။ factory သည် ၎င်းပြန်ပေးသော HttpClient အရာဝတ္ထုများနှင့် သီးခြား handler များ၏ သက်တမ်းကို စီမံနိုင်သည်။
ခေါ်ဆိုမှုကို အမျိုးအစားသတ်မှတ်ထားသော client သို့မဟုတ် အခြား SDK က ပိုင်ဆိုင်ပါက မည်သည့် မှတ်ပုံတင်မှုက ၎င်း၏ HttpClient ကို ပေးသည်ကို စစ်ဆေးပါ။ မှန်ကန်စွာ ပြင်ဆင်ထားသော်လည်း ဘယ်တော့မှ အသုံးမပြုသော အမည်ပေးထားသည့် client သည် ထို SDK ၏ ကွန်ရက်လမ်းကြောင်းကို မထိခိုက်ပါ။
ဤ configuration ကို တည်ငြိမ်သော လမ်းကြောင်းသတ်မှတ်မှု မူဝါဒအတွက် အသုံးပြုပါ။ လုပ်ငန်းများကြားတွင် အသုံးပြုနေသော handler ကို ပြောင်းလဲခြင်းသည် သီးခြား concurrency နှင့် သက်တမ်း ပြဿနာအဖြစ် ကျန်ရှိနေသည်။