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 सँगै जाँच्नुहोस्।

सम्बन्धित लेखहरू