WCF op .NET Framework: proxy-ynstellingen foar HTTP GET-metadata
Konfigurearje it âlde WCF-metadata-ophaalpaad, ynklusyf HTTP-ymporten, apart fan de einlike SOAP-tsjinstklant.
Foar WCF-metadata-ophalen yn HTTP GET-modus op .NET Framework 4.8.1 konfigurearje jo it eardere metadata-fersyk ynstee fan allinnich de einlike SOAP-klant. Syn beskerme GetWebRequest-heak kin in apart behearde rûte tapasse:
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;
}
}De typen komme út System.Net en System.ServiceModel.Description. Bou dizze klant mei de bedoelde WebProxy en brûk HttpGet-modus foar de WSDL-URL. Set it proxy-account op dat objekt; de autentikaasje fan de metadatatsjinner is apart.
Folgje ymporten as de woartel-WSDL slagget mar de resolúsje letter mislearret. Oare WSDL's en skema's kinne oare hosts of protokollen brûke.
Kies de oerienkommende útwreiding foar in oare ophaalmodus. WS-MetadataExchange brûkt in kanaal, waans oanmeitsje-heak GetChannelFactory is; syn binding- en proxy-ynstellingen wurde net universeel ferfongen troch in HttpWebRequest-oerskriuwing.
In standert applikaasjeproxy kin genôch wêze as alle belutsen legacy-komponinten him diele moatte. De subklasse is foar eksplisyt metadata-eigendom binnen dizze API-famylje. Generearre SOAP-oproppen hawwe noch hieltyd har eigen runtime-transportkonfiguraasje nedich. Foar in BasicHttpBinding-klant, kontrolearje ProxyAddress en UseDefaultWebProxy tegearre.