Compartilhar via


<discoveryEndpoint>

Esse elemento de configuração define um ponto de extremidade padrão com um contrato de descoberta fixo. Quando adicionado à configuração do serviço, ele especifica onde escutar as mensagens de descoberta. Quando adicionado à configuração do cliente, ele especifica para onde enviar as consultas de descoberta.

<configuração>
  <system.serviceModel>
    <standardEndpoints>
      <discoveryEndpoint>

Syntax

<system.serviceModel>
  <standardEndpoints>
    <discoveryEndpoint>
      <standardEndpoint discoveryMode="Adhoc/Managed"
                        discoveryVersion="WSDiscovery11/WSDiscoveryApril2005"
                        maxResponseDelay="Timespan"
                        name="String" />
    </discoveryEndpoint>
  </standardEndpoints>
</system.serviceModel>

Atributos e elementos

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

Atributos

Atributo Descrição
discoveryMode Uma cadeia de caracteres que especifica o modo de protocolo de descoberta. Os valores válidos são "Adhoc" e "Managed". No modo gerenciado, o protocolo depende de um Proxy de Descoberta, que atua como repositório de serviços Detectáveis. O modo Adhoc requer que o protocolo use o mecanismo de multicast UDP para localizar os serviços disponíveis. Para obter mais informações sobre a propriedade, consulte DiscoveryMode.
discoveryVersion Uma cadeia de caracteres que especifica uma das duas versões do protocolo WS-Discovery. Os valores válidos são WSDiscovery11 e WSDiscoveryApril2005. Esse valor é do tipo DiscoveryVersion.
maxResponseDelay Um valor Timespan que especifica o valor máximo para o atraso que o protocolo de Descoberta aguardará até enviar determinadas mensagens, como Investigar Correspondência ou Resolver Correspondência.

Se todos os ProbeMatches forem enviados ao mesmo tempo, isso poderá resultar em um storm de rede. Para evitar que isso ocorra, ProbeMatches são enviados com um atraso aleatório após cada ProbeMatch. O atraso aleatório está no intervalo que vai de zero ao valor definido por esse atributo. Se esse atributo for definido como zero, as mensagens ProbeMatches serão enviadas em um loop estreito, sem qualquer atraso. Caso contrário, as mensagens ProbeMatches são enviadas com um atraso aleatório, de modo que o tempo total necessário ao envio de todas as mensagens ProbeMatches não exceda o maxResponseDelay. Esse valor é relevante apenas para serviços; ele não é usado por clientes.
name Uma Cadeia de Caracteres que especifica o nome da configuração do ponto de extremidade padrão. O nome é usado no atributo endpointConfiguration do ponto de extremidade de serviço para vincular um ponto de extremidade padrão à sua configuração.

Elementos filho

Nenhum.

Elementos pai

Elemento Descrição
<standardEndpoints> Uma coleção de pontos de extremidade padrão que são pontos de extremidade predefinidos com uma ou mais de suas propriedades (endereço, associação, contrato) corrigidos.

Exemplo

O exemplo a seguir demonstra um serviço escutando mensagens de descoberta de uma rede de pares em um transporte multicast UDP. O exemplo especifica explicitamente a versão do WS-Discovery de abril de 2005.

A configuração padrão do ponto de extremidade é definida por serviço e não pode ser compartilhada em todo o serviço. Se outro serviço quiser ter o mesmo ponto de extremidade de descoberta, a mesma configuração precisará ser adicionada à seção desse serviço.

<services>
  <service name="CalculatorService"
           behaviorConfiguration="CalculatorServiceBehavior">
    <endpoint binding="basicHttpBinding"
              address="calculator"
              contract="ICalculatorService" />
    <endpoint name="peerNetDiscovery"
              binding="peerTcpBinding"
              address="net.p2p://discoveryMesh/multicast"
              kind="discoveryEndpoint"
              endpointConfiguration="peerTcpDiscoveryEndpointConfiguration"
              bindingConfiguration="discoveryPeerTcpBindingConfig" />
  </service>
</services>
<standardEndpoints>
  <discoveryEndpoint>
    <standardEndpoint name="peerTcpDiscoveryEndpointConfiguration"
                      version="WSDiscoveryApril2005" />
  </discoveryEndpoint>
</standardEndpoints>

Confira também