Publicação de metadados
Os serviços WCF (Windows Communication Foundation) publicam metadados publicando um ou mais pontos de extremidade de metadados. A publicação de metadados do serviço torna os metadados disponíveis usando protocolos padronizados, como WS-MetadataExchange (MEX) e solicitações HTTP/GET. Os pontos de extremidade de metadados são semelhantes a outros pontos de extremidade de serviço na medida em que têm um endereço, uma associação e um contrato, e podem ser adicionados a um host de serviço por meio de configuração ou código imperativo.
Publicação de pontos de extremidade de metadados
Para publicar pontos de extremidade de metadados para um serviço WCF, primeiro você deve adicionar o comportamento de ServiceMetadataBehavior serviço ao serviço. Adicionar uma System.ServiceModel.Description.ServiceMetadataBehavior instância permite que seu serviço exponha pontos de extremidade de metadados. Depois de adicionar o comportamento do System.ServiceModel.Description.ServiceMetadataBehavior serviço, você pode expor pontos de extremidade de metadados que suportam o protocolo MEX ou que respondem a solicitações HTTP/GET.
O System.ServiceModel.Description.ServiceMetadataBehavior usa a WsdlExporter para exportar metadados para todos os pontos de extremidade de serviço em seu serviço. Para obter mais informações sobre como exportar metadados de um serviço, consulte Exportando e importando metadados.
O System.ServiceModel.Description.ServiceMetadataBehavior adiciona uma ServiceMetadataExtension instância como uma extensão ao seu host de serviço. O System.ServiceModel.Description.ServiceMetadataExtension fornece a implementação para os protocolos de publicação de metadados. Você também pode usar o System.ServiceModel.Description.ServiceMetadataExtension para obter os metadados do serviço em tempo de execução acessando a ServiceMetadataExtension.Metadata propriedade.
Pontos de extremidade de metadados MEX
Para adicionar pontos de extremidade de metadados que usam o protocolo MEX, adicione pontos de extremidade de serviço ao host de serviço que usa o IMetadataExchange
contrato de serviço. WCF inclui uma IMetadataExchange interface com este nome de contrato de serviço que você pode usar como parte do modelo de programação WCF. Os pontos de extremidade WS-MetadataExchange, ou pontos de extremidade MEX, podem usar uma das quatro associações padrão que os métodos estáticos de fábrica expõem na MetadataExchangeBindings classe para corresponder às associações padrão usadas pelas ferramentas WCF, como Svcutil.exe. Você também pode configurar pontos de extremidade de metadados MEX usando sua própria associação personalizada.
Pontos de extremidade de metadados HTTP GET
Para adicionar um ponto de extremidade de metadados ao seu serviço que responde a solicitações HTTP/GET, defina a HttpGetEnabled propriedade em System.ServiceModel.Description.ServiceMetadataBehavior como true
. Você também pode configurar um ponto de extremidade de metadados que usa HTTPS definindo a HttpsGetEnabled propriedade no System.ServiceModel.Description.ServiceMetadataBehavior para true
.
Nesta Secção
Como: Publicar metadados para um serviço usando um arquivo de configuração
Demonstra como configurar um serviço WCF para publicar metadados para que os clientes possam recuperar os metadados usando um WS-MetadataExchange ou uma solicitação HTTP/GET usando a ?wsdl
cadeia de caracteres de consulta.
Como: Publicar metadados para um serviço usando código
Demonstra como habilitar a publicação de metadados para um serviço WCF no código para que os clientes possam recuperar os metadados usando um WS-MetadataExchange ou uma solicitação HTTP/GET usando a ?wsdl
cadeia de caracteres de consulta.