Share via


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

  • 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

Vea también

Conceptos

Exportación e importación de metadatos