Exportar (0) Imprimir
Expandir Tudo

Como: Expor um ponto de extremidade de metadados

Atualizado: janeiro de 2015

Um ponto de extremidade de metadados do Barramento do Serviço do Microsoft Azure é um URI que expõe informações adicionais sobre um serviço ou um aplicativo cliente. Por exemplo, a ferramenta Svcutil.exe usa os metadados expostos de um serviço para criar um contrato para que um desenvolvedor possa acessar esse serviço. Sem os metadados, o desenvolvedor precisaria obter acesso ao contrato de alguma outra maneira, como pedindo ao criador uma cópia dele diretamente por email. Observe que você ainda pode implementar uma interface sem metadados: os metadados permitem que você obtenha facilmente o contrato se ainda não o tiver. Observe também que expor um ponto de extremidade de metadados difere de publicar sua interface no feed ATOM: o ponto de extremidade de metadados contém informações adicionais sobre o contrato, enquanto a publicação no feed ATOM apenas lista o URI do serviço em um banco de dados acessível publicamente.

A seguir está um procedimento simplificado para expor metadados em um aplicativo que usa o Barramento do Serviço. Para uma discussão completa de metadados, consulte Metadata Architecture Overview na documentação do Windows Communication Foundation (WCF).

  1. No arquivo App.config do aplicativo host, adicione a definição de ponto de extremidade de metadados às informações de configuração do serviço.

    <services>
      <service name="Service.EchoService">
        <endpoint name="RelayEndpoint"
                  ... />
    
        <endpoint name="MexEndpoint" contract="IMetadataExchange" binding="netTcpRelayBinding" bindingConfiguration="default" address="mex" />
    
      </service>
    </services>
    
    
  2. Para adicionar a publicação dos metadados ao serviço, modifique as informações de configuração do aplicativo para incluir uma seção behaviors adicional.

    <system.serviceModel>
      ...
      <behaviors>
        <endpointBehaviors>
          ...
        <endpointBehaviors>
    
        <serviceBehaviors><behavior name="serviceMetadata"><serviceMetadata /></behavior></serviceBehaviors>
    
      </behaviors>
    
    </system.serviceModel>
    
    
  3. Adicione o comportamento dos metadados ao serviço especificando a propriedade behaviorConfiguration na definição do serviço.

    <services>
      <service name="Service.EchoService" behaviorConfiguration="serviceMetadata">
        ...
      </service>
    </services>
    
    
    WarningAviso
    Se o ponto de extremidade dos metadados for especificado com um modo de segurança de ponta a ponta diferente do ponto de extremidade de serviço e usar um endereço relativo ao compartilhamento do mesmo endereço base com o ponto de extremidade de serviço, uma exceção do tipo System.ArgumentException é gerada quando você abrir o host de serviço. A seguinte mensagem de erro acompanha a exceção: Configurações incompatíveis do ouvinte do canal. Para resolver esse problema, execute uma das seguintes alternativas:

    • Especifique o endereço do ponto de extremidade de metadados como um endereço totalmente qualificado.

    • Se desejar usar um endereço relativo para o ponto de extremidade dos metadados que compartilhe um endereço base com o ponto de extremidade do serviço, especifique o mesmo modo de segurança ponto a ponto para ambos os pontos de extremidade de metadados e do serviço.

    • Use um endereço relativo para o ponto de extremidade de metadados com um endereço base que difira do endereço base do ponto de extremidade do serviço.

A Microsoft está realizando uma pesquisa online para saber sua opinião sobre o site do MSDN. Se você optar por participar, a pesquisa online lhe será apresentada quando você sair do site do MSDN.

Deseja participar?
Mostrar:
© 2015 Microsoft