WCF v .NET Framework: nastavenia proxy pre metadáta HTTP GET
Nakonfigurujte staršiu cestu načítavania metadát WCF vrátane importov HTTP oddelene od konečného klienta služby SOAP.
Na načítavanie metadát WCF v režime HTTP GET v .NET Framework 4.8.1 nakonfigurujte skorší request na metadáta, nielen konečného klienta SOAP. Jeho chránený hook GetWebRequest môže použiť samostatne spravovanú trasu:
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;
}
}Typy pochádzajú z System.Net a System.ServiceModel.Description. Zostavte tohto klienta so zamýšľaným WebProxy a pre URL WSDL použite režim HttpGet. Účet proxy vložte na ten objekt; overovanie servera metadát je oddelené.
Sledujte importy, ak koreňový WSDL uspeje, ale rozlíšenie neskôr zlyhá. Iné WSDL a schémy môžu používať iné hostiteľe alebo protokoly.
Pre iný režim načítavania vyberte zodpovedajúce rozšírenie. WS-MetadataExchange používa kanál, ktorého hook na vytvorenie je GetChannelFactory; jeho nastavenia väzby a proxy sa univerzálne nenahrádzajú prepisom HttpWebRequest.
Predvolený proxy aplikácie môže stačiť, keď ho majú zdieľať všetky zúčastnené staršie komponenty. Podtrieda slúži na explicitné vlastníctvo metadát v tejto rodine API. Vygenerované volania SOAP stále potrebujú vlastnú konfiguráciu prenosu za behu. Pri klientovi BasicHttpBinding skontrolujte ProxyAddress a UseDefaultWebProxy spolu.