Поделиться через


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

См. также раздел