Publicación de metadatos
Los servicios de la aplicación Windows Communication Foundation (WCF) publican metadatos mediante la publicación de uno o más puntos de conexión de metadatos. La publicación de metadatos de servicio pone los metadatos a disposición mediante protocolos estandarizados, como WS-MetadataExchange (MEX) y solicitudes HTTP/GET. Los extremos de metadatos son similares a otros extremos de servicio en cuanto que tienen una dirección, un enlace y un contrato, y se pueden agregar a un host del servicio a través de configuración o código imperativo.
Publicación de puntos de conexión de metadatos
Para publicar puntos de conexión de metadatos para un servicio WCF, debe agregar primero el comportamiento del servicio ServiceMetadataBehavior al servicio. Agregar una instancia System.ServiceModel.Description.ServiceMetadataBehavior permite a su servicio exponer los puntos de conexión de metadatos. Una vez que agregue el comportamiento del servicio System.ServiceModel.Description.ServiceMetadataBehavior, puede exponer extremos de metadatos que admitan el protocolo MEX o que respondan a solicitudes HTTP/GET.
System.ServiceModel.Description.ServiceMetadataBehavior usa un WsdlExporter para exportar metadatos para todos los extremos de servicio al servicio. Para obtener más información sobre cómo exportar metadatos desde un servicio, consulte Exportación e importación de metadatos.
System.ServiceModel.Description.ServiceMetadataBehavior agrega una instancia ServiceMetadataExtension como una extensión a su host de servicio. System.ServiceModel.Description.ServiceMetadataExtension proporciona la implementación para los protocolos de publicación de metadatos. También puede utilizar System.ServiceModel.Description.ServiceMetadataExtension para obtener los metadatos del servicio en tiempo de ejecución mediante la obtención de acceso a la propiedad ServiceMetadataExtension.Metadata.
Extremos de metadatos MEX
Para agregar los extremos de metadatos que usan el protocolo MEX, agregue extremos de servicio a su host de servicio que usen el contrato de servicio de IMetadataExchange
. WCF incluye una interfaz IMetadataExchange con este nombre de contrato de servicio que se puede usar como parte del modelo de programación de WCF. Los puntos de conexión de WS-MetadataExchange o los puntos de conexión MEX, pueden utilizar uno de los cuatro enlaces predeterminados que los métodos de generador estáticos exponen en la clase MetadataExchangeBindings para coincidir con los enlaces predeterminados utilizados por herramientas de WCF como Svcutil.exe. También puede configurar puntos de conexión de metadatos MEX mediante su propio enlace personalizado.
puntos de conexión de metadatos HTTP GET
Para agregar un punto de conexión de metadatos a su servicio que responda a solicitudes HTTP/GET, establezca la propiedad HttpGetEnabled en el System.ServiceModel.Description.ServiceMetadataBehavior en true
. También puede configurar un extremo de metadatos que utilice HTTPS estableciendo la propiedad HttpsGetEnabled del System.ServiceModel.Description.ServiceMetadataBehavior en true
.
En esta sección
Procedimiento para publicar metadatos para un servicio mediante un archivo de configuración
Muestra cómo configurar un servicio WCF para publicar metadatos de tal modo que los clientes puedan recuperar los metadatos mediante una solicitud HTTP/GET o WS-MetadataExchange mediante la cadena de consulta ?wsdl
.
Procedimiento para publicar metadatos para un servicio mediante código
Muestra cómo habilitar la publicación de metadatos para un servicio WCF en código de tal modo que los clientes puedan recuperar los metadatos mediante una solicitud HTTP/GET o WS-MetadataExchange mediante la cadena de consulta ?wsdl
.