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 ಒಟ್ಟಿಗೆ ಪರಿಶೀಲಿಸಿ.

ಸಂಬಂಧಿತ ಲೇಖನಗಳು