.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 ஒன்றாக சரிபார்க்கவும்.