Compartilhar via


<endpointDiscovery>

Especifica as várias configurações de descoberta de um ponto de extremidade como a detectabilidade, os escopos e as extensões personalizadas para os metadados.

<configuration>
  <system.serviceModel>
    <behaviors>
      <endpointBehaviors>
        <behavior>
          <endpointDiscovery>

Syntax

<behaviors>
  <endpointBehaviors>
    <behavior name="String">
      <endpointDiscovery enabled="Boolean">
        <scopes>
          <add scope="URI"/>
        </scopes>
        <extensions />
      </endpointDiscovery>
    </behavior>
  </endpointBehaviors>
</behaviors>

Atributos e elementos

As seções a seguir descrevem atributos, elementos filho e elementos pai.

Atributos

Atributo Descrição
Habilitado Um valor booliano que especifica se a capacidade de descoberta está habilitada neste ponto de extremidade. O padrão é false.

Elementos filho

Elemento Descrição
<escopos> Uma coleção de URIs de escopo para o ponto de extremidade. Mais de um URIs de escopo pode ser associado a um único ponto de extremidade.
<extensões> [de <endpointDiscovery>] Uma coleção de elementos XML que permite especificar metadados personalizados a serem publicados para um ponto de extremidade.
<types> Uma coleção de interfaces a serem pesquisada.

Elementos pai

Elemento Descrição
<behavior> Especifica um elemento de comportamento.

Comentários

Quando adicionado à configuração de comportamento do ponto de extremidade e com o atributo enabled definido como true, esse elemento de configuração habilita sua capacidade de descoberta. Além disso, você pode usar o <elemento filho de escopos>para especificar uris de escopo personalizado que podem ser usados para filtrar pontos de extremidade de serviço durante a consulta, bem como o <elemento filho de extensões> para especificar metadados personalizados que devem ser publicados junto com os metadados detectáveis padrão (EPR, ContractTypeName, BindingName, Scope e ListenURI).

Esse elemento de configuração depende do elemento <serviceDiscovery> que fornece o controle de nível de serviço da descoberta. Isso significa que as configurações desse elemento serão ignoradas se <serviceDiscovery> não estiver presente na configuração.

Exemplo

O exemplo de configuração a seguir especifica escopos de filtragem e metadados de extensão a serem publicados para um ponto de extremidade.

<services>
  <service name="CalculatorService"
           behaviorConfiguration="CalculatorServiceBehavior">
    <endpoint binding="basicHttpBinding"
              address="calculator"
              contract="ICalculatorService"
              behaviorConfiguration="calculatorEndpointBehavior" />
  </service>
</services>
<behaviors>
  <serviceBehaviors>
    <behavior name="CalculatorServiceBehavior">
      <serviceDiscovery />
    </behavior>
  </serviceBehaviors>
  <endpointBehaviors>
    <behavior name="calculatorEndpointBehavior">
      <endpointDiscovery enabled="true">
        <scopes>
          <add scope="http://contoso/test1" />
          <add scope="http://contoso/test2" />
        </scopes>
        <extensions>
          <e:Publisher xmlns:e="http://example.org">
            <e:Name>The Example Organization</e:Name>
            <e:Address>One Example Way, ExampleTown, EX 12345</e:Address>
            <e:Contact>support@example.org</e:Contact>
          </e:Publisher>
          <AnotherCustomMetadata>Custom Metadata</AnotherCustomMetadata>
        </extensions>
      </endpointDiscovery>
    </behavior>
  </endpointBehaviors>
</behaviors>

Confira também