.NET 6+ ပေါ်ရှိ ServiceStack HttpUtils ၏ ပရောက်စီ ဆက်တင်များ
စတင်ချိန်တွင် .NET 6+ မျှဝေသုံး client ၏ ပရောက်စီကို သတ်မှတ်ပါ; နောက်ပိုင်း factory ပြောင်းလဲခြင်းသည် ရှိပြီးသား client ကို အစားထိုးမပေးပါ။
ServiceStack ၏ .NET 6+ build များတွင် HTTP Utils သည် နှေးကွေးသော မျှဝေထားသည့် HttpClient တစ်ခုကို ဖန်တီးသည်။ ပထမဆုံး helper ခေါ်ဆိုမှုမတိုင်မီ အပလီကေးရှင်း စတင်ချိန်တွင် ၎င်း၏ handler factory ကို သတ်မှတ်ပါ:
ServiceStack.HttpUtils.HttpClientHandlerFactory = () =>
new System.Net.Http.HttpClientHandler
{
UseProxy = true,
Proxy = new System.Net.WebProxy("http://proxy.example:8080"),
AutomaticDecompression =
System.Net.DecompressionMethods.Brotli |
System.Net.DecompressionMethods.Deflate |
System.Net.DecompressionMethods.GZip
};မျှဝေထားသည့် client ရှိပြီးဖြစ်ပါက ဤ factory ကို ပြောင်းလဲခြင်းသည် ၎င်းကို ပြန်လည် ပြင်ဆင်မပေးပါ။ နောက်ပိုင်း သတ်မှတ်ချက် ထိရောက်မှုမရှိဟု ထင်ရပါက ပထမဆုံး စစ်ဆေးရမည့်အချိန်မှာ ထိုအချိန်ဖြစ်သည်။ ထို မျှဝေထားသည့် client မဖန်တီးမီ HTTP ပရောက်စီ စာရင်းမှ HTTP endpoint ကို အများသုံး လမ်းကြောင်းအတွက် ရွေးချယ်နိုင်သည်။
ပရောက်စီ အကောင့်အတွက် WebProxy.Credentials ကို အပလီကေးရှင်း၏ ဖွဲ့စည်းမှုမှတစ်ဆင့် သတ်မှတ်ပါ။ HttpClientHandler.UseDefaultCredentials သည် ဆာဗာအကောင့်နှင့် သက်ဆိုင်ပြီး ထို ပရောက်စီ အရာဝတ္ထု၏ အထောက်အထားများကို အလိုအလျောက် မဖြည့်ပါ။
အဟောင်း HttpWebRequest နှင့် requestFilter ဥပမာသည် ယခင် အကောင်အထည်ဖော်မှုကို ရည်ရွယ်သည်။ ပုံစံအသစ်တွင် တောင်းဆိုမှု ဖွဲ့စည်းမှုက တောင်းဆိုမှု အကွက်များကို ဖုံးလွှမ်းပြီး handler က ချိတ်ဆက်မှု လမ်းကြောင်းကို ပိုင်ဆိုင်သည်။
တပ်ဆင်ပြီးသား စိတ်ကြိုက် client factory သို့မဟုတ် အပလီကေးရှင်း၏ HTTP client factory ပိုင်ဆိုင်မှု အစီအစဉ်ကို ထိန်းသိမ်းပါ။ ဤ handler factory သည် မျှဝေ မူဝါဒဖြစ်သည်; တစ်ချိန်တည်း လုပ်ဆောင်သော မသက်ဆိုင်သည့် လမ်းကြောင်းများအတွက် သီးခြား ပိုင်ဆိုင်သည့် client များ လိုအပ်သည်။