په .NET Framework 4.8.1 کې د HTTP GET حالت کې د 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 یوځای وګورئ.

اړوندې مقالې