Publicación de metadatos
Los servicios de Windows Communication Foundation (WCF) publican metadatos mediante la publicación de uno o más extremos 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 extremos de metadatos
Para publicar extremos de metadatos para un servicio de WCF, debe agregar primero el comportamiento del servicio ServiceMetadataBehavior al servicio. Agregar una instancia System.ServiceModel.Description.ServiceMetadataBehavior permite a su servicio exponer los extremos 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 utiliza un WsdlExporter para exportar metadatos para todos los extremos de servicio de su servicio. Para obtener más información sobre exportación de metadatos desde un servicio, vea 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 System.ServiceModel.Description.ServiceMetadataExtension.Metadata.
Extremos de metadatos MEX
Para agregar extremos de metadatos que utilicen el protocolo MEX, agregue los extremos de servicio a su host de servicio que utilicen el contrato de servicios IMetadataExchange. WCF incluye una interfaz IMetadataExchange con este nombre de contrato de servicios que puede utilizar como parte del modelo de programación de WCF. Los extremos de WS-MetadataExchange o los extremos 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 extremos de metadatos MEX mediante su propio enlace personalizado.
Extremos de metadatos HTTP GET
Para agregar un extremo 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
- Cómo publicar metadatos para un servicio mediante un archivo de configuración
Muestra cómo configurar un servicio de 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.
- Publicación de metadatos para un servicio mediante código
Muestra cómo habilitar la publicación de metadatos para un servicio de WCF en código de tal modo que los clientes puedan recuperar los datos mediante una solicitud HTTP/GET o WS-MetadataExchange mediante la cadena de consulta ?wsdl.
Referencia
ServiceMetadataBehavior
IMetadataExchange
ServiceMetadataExtension
MetadataExchangeBindings