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 आह्वानों को अभी भी अपना रनटाइम ट्रांसपोर्ट कॉन्फ़िगरेशन चाहिए। BasicHttpBinding क्लाइंट के लिए, ProxyAddress और UseDefaultWebProxy एक साथ देखें।

संबंधित लेख