WCF en .NET Framework: configuración do proxy de metadatos HTTP GET
Configure a ruta herdada de recuperación de metadatos de WCF, incluídas as importacións HTTP, por separado do cliente de servizo SOAP final.
Para a recuperación de metadatos de WCF en modo HTTP GET en .NET Framework 4.8.1, configure a solicitude de metadatos anterior en lugar de só o cliente SOAP final. O seu gancho protexido GetWebRequest pode aplicar unha ruta xestionada por separado:
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;
}
}Os tipos proveñen de System.Net e System.ServiceModel.Description. Construída este cliente co WebProxy previsto e use o modo HttpGet para o URL do WSDL. Coloque a conta de proxy nese obxecto; a autenticación do servidor de metadatos é independente.
Siga as importacións se o WSDL raíz ten éxito pero a resolución falla despois. Outros WSDL e esquemas poden usar hosts ou protocolos distintos.
Escolla a extensión correspondente para outro modo de recuperación. WS-MetadataExchange usa unha canle, cuxo gancho de creación é GetChannelFactory; a súa configuración de binding e proxy non se substitúe universalmente cunha substitución de HttpWebRequest.
Un proxy de aplicación predeterminado pode abondar cando todos os compoñentes herdados participantes deben compartilo. A subclase é para a propiedade explícita dos metadatos dentro desta familia de API. As invocacións SOAP xeradas seguen necesitando a súa propia configuración de transporte en tempo de execución. Para un cliente BasicHttpBinding, comprobe ProxyAddress e UseDefaultWebProxy xuntos.