Compartilhar via


<udpDiscoveryEndpoint>

Este elemento de configuração define um ponto de extremidade padrão pré-configurado para operações de descoberta por meio de uma associação multicast UDP. Esse ponto de extremidade tem um contrato fixo e oferece suporte a duas versões do protocolo WS-Discovery. Além disso, ele tem uma associação de UDP fixa e um endereço padrão, conforme as especificações do WS-Discovery (WS-Discovery de abril de 2005 ou WS-Discovery V1.1).

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

Syntax

<system.serviceModel>
  <standardEndpoints>
    <udpDiscoveryEndpoint>
      <standardEndpoint discoveryMode="Adhoc/Managed"
                        discoveryVersion="WSDiscovery11/WSDiscoveryApril2005"
                        maxResponseDelay="Timespan"
                        multicastAddress="Uri"
                        name="String" />
    </udpDiscoveryEndpoint>
  </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. Esse valor é do tipo ServiceDiscoveryMode.
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.
multicastAddress Um Uri que especifica um endereço multicast a ser usado para enviar e receber as mensagens de descoberta. O valor padrão é o endereço multicast conforme a especificação do protocolo.
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 à respectiva configuração.

Elementos filho

Elemento Descrição
<udpTransportSettings> Uma coleção de configurações que permitem configurar o transporte UDP para o ponto de extremidade UDP.

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 em um transporte multicast UDP.

<services>
  <service name="CalculatorService"
           behaviorConfiguration="CalculatorServiceBehavior">
    <endpoint binding="basicHttpBinding"
              address="calculator"
              contract="ICalculatorService" />
    <endpoint name="DiscoveryEndpoint"
              kind="udpDiscoveryEndpoint" />
  </service>
  <standardEndpoints>
    <udpDiscoveryEndpoint>
      <standardEndpoint name="DiscoveryEndpoint"
                        version="WSDiscoveryApril2005" />
    </udpDiscoveryEndpoint>
  </standardEndpoints>
</services>

Confira também