Recuperando metadados
A recuperação de metadados é o processo de solicitar e recuperar metadados de um ponto de extremidade de metadados, como um ponto de extremidade de metadados WS-MetadataExchange (MEX) ou um ponto de extremidade de metadados HTTP/GET.
Recuperando metadados da linha de comando usando o Svcutil.exe
Você pode recuperar metadados de serviço usando solicitações WS-MetadataExchange ou HTTP/GET usando a ferramenta ServiceModel Metadata Utility Tool (Svcutil.exe) e passando o /target:metadata
switch e um endereço. Svcutil.exe baixa os metadados no endereço especificado e salva o arquivo no disco. Svcutil.exe usa uma System.ServiceModel.Description.MetadataExchangeClient instância internamente e carrega da configuração a IMetadataExchange configuração do ponto de extremidade cujo nome corresponde ao esquema do endereço passado para Svcutil.exe como entrada.
Recuperando metadados programaticamente usando o MetadataExchangeClient
O Windows Communication Foundation (WCF) pode recuperar metadados de serviço usando protocolos padronizados, como WS-MetadataExchange e solicitações HTTP/GET. Ambos os protocolos são suportados MetadataExchangeClient pelo tipo. Você recupera metadados de serviço usando o System.ServiceModel.Description.MetadataExchangeClient tipo fornecendo um endereço para o ponto de extremidade de metadados e uma associação opcional. A associação usada por uma System.ServiceModel.Description.MetadataExchangeClient instância pode ser uma das associações padrão da MetadataExchangeBindings classe estática, uma associação fornecida pelo usuário ou uma associação carregada de uma configuração de ponto de extremidade para o IMetadataExchange
contrato. O System.ServiceModel.Description.MetadataExchangeClient também pode resolver referências de URL HTTP para metadados usando o HttpWebRequest tipo.
Por padrão, uma System.ServiceModel.Description.MetadataExchangeClient instância é vinculada a uma única ChannelFactory instância. Você pode alterar ou substituir a System.ServiceModel.ChannelFactory instância usada por um System.ServiceModel.Description.MetadataExchangeClient substituindo o GetChannelFactory método virtual. Da mesma forma, você pode alterar ou substituir a HttpWebRequest instância usada por a System.ServiceModel.Description.MetadataExchangeClient para fazer solicitações HTTP/GET substituindo o MetadataExchangeClient.GetWebRequest método virtual.
Nesta Secção
Como: Usar Svcutil.exe para baixar documentos de metadados
Demonstra como usar Svcutil.exe para baixar documentos de metadados.
Como: Usar MetadataResolver para obter metadados de vinculação dinamicamente
Demonstra como usar o System.ServiceModel.Description.MetadataResolver para obter metadados de vinculação dinamicamente em tempo de execução.
Como: Usar MetadataExchangeClient para recuperar metadados
Demonstra como usar a System.ServiceModel.Description.MetadataExchangeClient classe para baixar arquivos de metadados em um System.ServiceModel.Description.MetadataSet objeto que contém System.ServiceModel.Description.MetadataSection objetos para gravar em arquivos ou para outros usos.