.NET Framework ပေါ်ရှိ WCF- HTTP GET မက်တာဒေတာ ပရောက်စီ ဆက်တင်များ
HTTP သွင်းယူမှုများ အပါအဝင် ရှေးဟောင်း WCF မက်တာဒေတာ ရယူမည့်လမ်းကြောင်းကို နောက်ဆုံး SOAP ဝန်ဆောင်မှု client နှင့် သီးခြား ပြင်ဆင်ပါ။
HTTP GET မုဒ်တွင် .NET Framework 4.8.1 အတွက် WCF မက်တာဒေတာ ရယူရန် နောက်ဆုံး SOAP client ကိုသာမက အစောပိုင်း မက်တာဒေတာ တောင်းဆိုမှုကို ပြင်ဆင်ပါ။ ၎င်း၏ ကာကွယ်ထားသော GetWebRequest ချိတ်သည် သီးခြား စီမံသော လမ်းကြောင်းကို အသုံးပြုနိုင်သည်-
class RoutedMetadataClient : MetadataExchangeClient
{
private readonly IWebProxy route;
public RoutedMetadataClient(IWebProxy route)
{
this.route = route;
}
protected override HttpWebRequest GetWebRequest(
Uri location, string dialect, string identifier)
{
HttpWebRequest request =
base.GetWebRequest(location, dialect, identifier);
request.Proxy = route;
return request;
}
}အမျိုးအစားများသည် System.Net နှင့် System.ServiceModel.Description မှ လာသည်။ ဤ client ကို ရည်ရွယ်ထားသော WebProxy ဖြင့် တည်ဆောက်ပြီး WSDL URL အတွက် HttpGet မုဒ်ကို အသုံးပြုပါ။ ပရောက်စီ အကောင့်ကို ထို object ပေါ်တွင် ထားပါ၊ မက်တာဒေတာ ဆာဗာ စစ်ဆေးမှုသည် သီးခြားဖြစ်သည်။
အမြစ် WSDL အောင်မြင်သော်လည်း နောက်ပိုင်း ဖြေရှင်းမှု မအောင်မြင်ပါက သွင်းယူမှုများကို လိုက်နာပါ။ အခြား WSDL နှင့် schema များသည် မတူညီသော host သို့မဟုတ် protocol များကို အသုံးပြုနိုင်သည်။
အခြား ရယူမည့်မုဒ်အတွက် သက်ဆိုင်ရာ extension ကို ရွေးပါ။ WS-MetadataExchange သည် channel ကို အသုံးပြုပြီး ၎င်း၏ ဖန်တီးမှု ချိတ်မှာ GetChannelFactory ဖြစ်သည်၊ ၎င်း၏ binding နှင့် ပရောက်စီ ဆက်တင်များကို HttpWebRequest ဖြင့် အစားထိုးခြင်းဖြင့် အားလုံးအတွက် အစားထိုးခြင်း မပြုပါ။
ပါဝင်သော ရှေးဟောင်း အစိတ်အပိုင်းအားလုံး မျှဝေသင့်သောအခါ မူရင်း application ပရောက်စီ လုံလောက်နိုင်သည်။ ဤ API မိသားစုအတွင်း ရှင်းလင်းသော မက်တာဒေတာ ပိုင်ဆိုင်မှုအတွက် subclass ဖြစ်သည်။ ထုတ်လုပ်ထားသော SOAP ခေါ်ဆိုမှုများသည် ၎င်းတို့၏ ကိုယ်ပိုင် runtime သယ်ယူပို့ဆောင်ရေး ပြင်ဆင်မှု လိုအပ်ဆဲဖြစ်သည်။ BasicHttpBinding client အတွက် ProxyAddress နှင့် UseDefaultWebProxy ကို အတူတကွ စစ်ဆေးပါ။