Partager via


<endpointDiscovery>

Spécifie les différents paramètres de découverte d'un point de terminaison, tels que la fonctionnalité de découverte, les portées et toutes les extensions personnalisées de ses métadonnées.

Hiérarchie de schéma

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

Syntaxe

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

Attributs et éléments

Les sections suivantes décrivent des attributs, des éléments enfants et des éléments parents.

Attributs

Attribut Description

enabled

Valeur booléenne qui spécifie si la fonctionnalité de découverte est activée sur ce point de terminaison. La valeur par défaut est false.

Éléments enfants

Élément Description

<scopes>

Collection d'URI de portée pour le point de terminaison. Plusieurs URI de portée peuvent être associés au même point de terminaison.

<extensions>

Collection d'éléments XML qui vous permet de spécifier des métadonnées personnalisées à publier pour un point de terminaison.

Éléments parents

Élément Description

<behavior> de <endpointBehaviors>

Spécifie un élément de comportement.

Notes

Lorsqu'il est ajouté à la configuration de comportement du point de terminaison et si le jeu d'attributs enabled a la valeur true, cet élément de configuration devient détectable. De plus, vous pouvez utiliser l'élément enfant <scopes> pour spécifier des URI de portée personnalisés permettant de filtrer des points de terminaison de service pendant la requête, ainsi que l'élément enfant <extensions> pour spécifier des métadonnées personnalisées qui doivent être publiées avec les métadonnées détectables standard (EPR, ContractTypeName, BindingName, Scope et ListenURI).

Cet élément de configuration dépend de l'élément <serviceDiscovery> qui fournit le contrôle de la fonctionnalité de découverte au niveau du service. Cela signifie que les paramètres de cet élément sont ignorés si <serviceDiscovery> n'est pas présent dans la configuration.

Exemple

L'exemple de configuration suivant spécifie des portées de filtrage et des métadonnées d'extension à publier pour un point de terminaison.

<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 enable="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>

Voir aussi

Référence

EndpointDiscoveryBehavior