Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Specifies the various discovery settings for an endpoint, such as its discoverability, scopes, and any custom extensions to its metadata.
Schema Hierarchy
<system.serviceModel>
<behaviors>
<endpointBehaviors>
<behavior> of <endpointBehaviors>
<endpointDiscovery>
Syntax
<behaviors> <endpointBehaviors> <behavior name="String"> <endpointDiscovery enable="Boolean"> <scopes> <add scope="URI"/> </scopes> <extensions> </extensions> </endpointDiscovery> </behavior> </endpointBehaviors></behaviors>
Attributes and Elements
The following sections describe attributes, child elements, and parent elements.
Attributes
Attribute | Description |
---|---|
enabled |
A Boolean value that that specifies whether discoverability is enabled on this endpoint. The default is false. |
Child Elements
Element | Description |
---|---|
A collection of scope URIs for the endpoint. More than one scope Uris can be associated with a single endpoint. |
|
<extensions> [of <endpointDiscovery>] |
A collection of XML elements that allows you to specify custom metadata to be published for an endpoint. |
Parent Elements
Element | Description |
---|---|
Specifies a behavior element. |
Remarks
When added to the endpoint’s behavior configuration and with the enabled attribute set to true, this configuration element enables its discoverability. In addition, you can use the <scopes>child element to specifying custom scope Uris that can be used to filter service endpoints during query, as well as the <extensions> child element to specify custom metadata that should be published along with the standard discoverable metadata (EPR, ContractTypeName, BindingName, Scope and ListenURI).
This configuration element is dependent on the <serviceDiscovery> element that provides the service level control of discoverability. This means that this element’s settings are ignored if <serviceDiscovery> is not present in the configuration.
Example
The following configuration example specifies filtering scopes and extension metadata to be published for an 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 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>[email protected]</e:Contact>
</e:Publisher>
<AnotherCustomMetadata>Custom Metadata</AnotherCustomMetadata>
</extensions>
</endpointDiscovery>
</behavior>
</endpointBehaviors>
</behaviors>