.NET Framework'da WCF: HTTP GET metama'lumotlari proksi sozlamalari
Eski WCF metama'lumotlarini olish yo'lini, HTTP importlarini ham qo'shgan holda, yakuniy SOAP xizmat mijozi bilan alohida sozlang.
HTTP GET rejimida .NET Framework 4.8.1'da WCF metama'lumotlarini olish uchun faqat yakuniy SOAP mijozini emas, balki avvalgi metama'lumot so'rovini sozlang. Uning himoyalangan GetWebRequest ilgagi alohida boshqariladigan marshrutni qo'llashi mumkin:
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;
}
}Turlar System.Net va System.ServiceModel.Description'dan keladi. Bu mijozni mo'ljallangan WebProxy bilan quring va WSDL URL uchun HttpGet rejimidan foydalaning. Proksi hisobini o'sha obyektga qo'ying; metama'lumot serveri autentifikatsiyasi alohida.
Agar ildiz WSDL muvaffaqiyatli bo'lib, keyin hal qilish muvaffaqiyatsiz bo'lsa, importlarga rioya qiling. Boshqa WSDL va sxemalar boshqa xostlar yoki protokollardan foydalanishi mumkin.
Boshqa olish rejimi uchun tegishli kengaytmani tanlang. WS-MetadataExchange kanaldan foydalanadi, uning yaratish ilgagi GetChannelFactory; uning binding va proksi sozlamalari HttpWebRequest almashtirilishi bilan universal ravishda almashtirilmaydi.
Barcha ishtirok etuvchi eski komponentlar uni birgalikda ishlatishi kerak bo'lsa, standart dastur proksisi yetarli bo'lishi mumkin. Kichik sinf ushbu API oilasida metama'lumotlarga aniq egalik qilish uchun. Yaratilgan SOAP chaqiruvlari hali ham o'zlarining runtime transport konfiguratsiyasini talab qiladi. BasicHttpBinding mijozi uchun ProxyAddress va UseDefaultWebProxy birga tekshiring.