WCF në .NET Framework: cilësimet e proxy-t për metadata HTTP GET
Konfiguroni rrugën e vjetër të marrjes së metadatave WCF, duke përfshirë importet HTTP, veçmas nga klienti përfundimtar i shërbimit SOAP.
Për marrjen e metadatave WCF në modalitetin HTTP GET në .NET Framework 4.8.1, konfiguroni kërkesën e mëparshme të metadatave dhe jo vetëm klientin përfundimtar SOAP. Hook-u i mbrojtur GetWebRequest mund të aplikojë një rrugë të menaxhuar veçmas:
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;
}
}Tipet vijnë nga System.Net dhe System.ServiceModel.Description. Ndërtoni këtë klient me WebProxy-n e synuar dhe përdorni modalitetin HttpGet për URL-në e WSDL. Vendosni llogarinë e proxy-t në atë objekt; vërtetimi me serverin e metadatave është i veçantë.
Ndiqni importet nëse WSDL-ja rrënjësore ka sukses, por zgjidhja dështon më vonë. WSDL-të dhe skemat e tjera mund të përdorin host-e ose protokolle të ndryshme.
Zgjidhni shtesën përkatëse për një modalitet tjetër marrjeje. WS-MetadataExchange përdor një kanal, hook-u i krijimit të të cilit është GetChannelFactory; cilësimet e tij të binding dhe proxy nuk zëvendësohen universalisht nga një anashkalim i HttpWebRequest.
Një proxy i paracaktuar i aplikacionit mund të mjaftojë kur të gjithë komponentët e vjetër pjesëmarrës duhet ta ndajnë atë. Nënklasa është për pronësi të qartë të metadatave brenda kësaj familjeje API. Thirrjet SOAP të gjeneruara ende kanë nevojë për konfigurimin e tyre të transportit në kohë ekzekutimi. Për një klient BasicHttpBinding, kontrolloni ProxyAddress dhe UseDefaultWebProxy së bashku.