<endpointDiscovery>
Указывает различные параметры обнаружения для конечной точки, такие как возможность обнаружения, области и любые пользовательские модули для ее метаданных.
<Конфигурации>
<system.serviceModel>
<Поведения>
<EndpointBehaviors>
<Поведение>
<endpointDiscovery>
Синтаксис
<behaviors>
<endpointBehaviors>
<behavior name="String">
<endpointDiscovery enabled="Boolean">
<scopes>
<add scope="URI"/>
</scopes>
<extensions />
</endpointDiscovery>
</behavior>
</endpointBehaviors>
</behaviors>
Атрибуты и элементы
В следующих разделах описаны атрибуты, дочерние и родительские элементы.
Атрибуты
Атрибут | Описание |
---|---|
Включено | Логическое значение, указывающее, включена ли возможность обнаружения в этой конечной точке. Значение по умолчанию — false . |
Дочерние элементы
Элемент | Описание |
---|---|
<Области> | Коллекция URI областей для этой конечной точки. С одной конечной точкой можно связать несколько URI областей. |
<extensions> [of <endpointDiscovery>] | Коллекция элементов XML, позволяющая указывать пользовательские метаданные, публикуемые для конечной точки. |
<types> | Коллекция интерфейсов, которые нужно найти. |
Родительские элементы
Элемент | Описание |
---|---|
<Поведение> | Указывает элемент поведения. |
Комментарии
Если добавить этот элемент конфигурации в конфигурацию поведения конечной точки и присвоить атрибуту enabled
значение true
, то будет включена возможность обнаружения. Кроме того, можно использовать <дочерний элемент scopes>для указания пользовательских URI область, которые можно использовать для фильтрации конечных точек службы во время запроса, а также <дочерний элемент extensions> для указания пользовательских метаданных, которые должны публиковаться вместе со стандартными обнаруживаемыми метаданными (EPR, ContractTypeName, BindingName, Scope и ListenURI).
Этот элемент конфигурации зависит от <элемента serviceDiscovery> , который обеспечивает управление доступностью обнаружения на уровне службы. Это означает, что параметры этого элемента игнорируются, если <serviceDiscovery> отсутствует в конфигурации.
Пример
В следующем примере конфигурации определены области фильтрации и метаданные расширения, которые будут опубликованы для конечной точки.
<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>