Condividi tramite


<endpointDiscovery>

Specifica le varie impostazioni di individuazione per un endpoint, quali l'individuazione, gli ambiti e le eventuali estensioni personalizzate ai relativi metadati.

<Configurazione>
  <system.serviceModel>
    <Comportamenti>
      <endpointBehaviors>
        <Comportamento>
          <endpointDiscovery>

Sintassi

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

Attributi ed elementi

Nelle sezioni seguenti vengono descritti gli attributi, gli elementi figlio e gli elementi padre.

Attributi

Attributo Descrizione
Enabled Valore booleano che specifica se l'individuabilità è abilitata in questo endpoint. Il valore predefinito è false.

Elementi figlio

Elemento Descrizione
<Ambiti> Raccolta di URI di ambito per l'endpoint. A un singolo endpoint è possibile associare più URI di ambito.
<estensioni> [di <endpointDiscovery>] Raccolta di elementi XML che consente di specificare metadati personalizzati da pubblicare per un endpoint.
<types> Raccolta di interfacce da cercare.

Elementi padre

Elemento Descrizione
<Comportamento> Specifica un elemento di comportamento.

Commenti

L'aggiunta di questo elemento di configurazione alla configurazione di comportamento dell'endpoint con l'attributo enabled impostato su true ne determina l'abilitazione dell'individuazione. Inoltre, è possibile usare l'elemento <figlio scopes>per specificare URI di ambito personalizzati che possono essere usati per filtrare gli endpoint di servizio durante la query, nonché l'elemento <figlio delle estensioni> per specificare metadati personalizzati che devono essere pubblicati insieme ai metadati individuabili standard (EPR, ContractTypeName, BindingName, Scope e ListenURI).

Questo elemento di configurazione dipende dall'elemento <serviceDiscovery> che fornisce il controllo a livello di servizio dell'individuabilità. Ciò significa che le impostazioni di questo elemento vengono ignorate se <serviceDiscovery> non è presente nella configurazione.

Esempio

Nell'esempio di configurazione seguente vengono specificati ambiti di filtro e metadati di estensione da pubblicare per un endpoint.

<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>

Vedere anche