HTTP GET ھالىتىدە .NET Framework 4.8.1 دە WCF مېتا سانلىق مەلۇمات ئېلىش ئۈچۈن، پەقەت ئاخىرقى SOAP خېرىدارىنىلا ئەمەس، بەلكى ئىلگىرىكى مېتا سانلىق مەلۇمات تەلەپنى سەپلەڭ. ئۇنىڭ قوغدالغان 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 دىن كېلىدۇ. بۇ خېرىدارنى مەقسەت قىلىنغان WebProxy بىلەن قۇرۇڭ ۋە WSDL URL ئۈچۈن HttpGet ھالىتىنى ئىشلىتىڭ. پروكسى ھېساباتىنى شۇ ئوبيېكتقا قويۇڭ؛ مېتا سانلىق مەلۇمات مۇلازىمېتىرىنىڭ دەلىللەشى ئايرىم.

ئەگەر يىلتىز WSDL مۇۋەپپەقىيەت قازىنىپ، ئەمما ھەل قىلىش كېيىن مەغلۇپ بولسا ئىمپورتلارنى ئەگىشىڭ. باشقا WSDL ۋە سىخېمىلار ئوخشىمىغان خوجايىن ياكى پروتوكوللارنى ئىشلىتەلەيدۇ.

باشقا ئېلىش ھالىتى ئۈچۈن مۇناسىپ كېڭەيتىشنى تاللاڭ. WS-MetadataExchange كانال ئىشلىتىدۇ، ئۇنىڭ قۇرۇش ئىلمىكى GetChannelFactory؛ ئۇنىڭ binding ۋە پروكسى تەڭشىكى HttpWebRequest نى قايتا يېزىش بىلەن ئومۇمىي ئالماشتۇرۇلمايدۇ.

قاتناشقان بارلىق كونا زاپچاسلار ئۇنى ئورتاقلىشىشى كېرەك بولغاندا سۈكۈتتىكى ئەپ پروكسى يېتەرلىك بولۇشى مۇمكىن. تارماق سىنىپ بۇ API ئائىلىسى ئىچىدە مېتا سانلىق مەلۇماتقا ئېنىق ئىگىلىك قىلىش ئۈچۈن. ھاسىل قىلىنغان SOAP چاقىرىقلىرى يەنىلا ئۆزىنىڭ runtime توشۇش سەپلىمىسىگە موھتاج. BasicHttpBinding خېرىدارى ئۈچۈن ProxyAddress ۋە UseDefaultWebProxy نى بىرگە تەكشۈرۈڭ.

مۇناسىۋەتلىك ماقالىلەر