.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 ଏକାଠି ଯାଞ୍ଚ କରନ୍ତୁ।