.NET Framework ನಲ್ಲಿ WCF: HTTP GET ಮೆಟಾಡೇಟಾ ಪ್ರಾಕ್ಸಿ ಸೆಟ್ಟಿಂಗ್ಗಳು
HTTP ಆಮದುಗಳನ್ನು ಒಳಗೊಂಡಂತೆ ಹಳೆಯ WCF ಮೆಟಾಡೇಟಾ ಮರುಪಡೆಯುವಿಕೆ ಮಾರ್ಗವನ್ನು ಅಂತಿಮ SOAP ಸೇವಾ ಕ್ಲೈಂಟ್ನಿಂದ ಪ್ರತ್ಯೇಕವಾಗಿ ಸಂರಚಿಸಿ.
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 ಒಟ್ಟಿಗೆ ಪರಿಶೀಲಿಸಿ.