<serviceThrottling>

Задает механизм настройки службы Windows Communication Foundation (WCF).

<Конфигурации>
  <system.serviceModel>
    <Поведения>
      <serviceBehaviors>
        <Поведение>
          <serviceThrottling>

Синтаксис

<serviceThrottling maxConcurrentCalls="Integer"
                   maxConcurrentInstances="Integer"
                   maxConcurrentSessions="Integer" />

Атрибуты и элементы

В следующих разделах описаны атрибуты, дочерние и родительские элементы.

Атрибуты

Атрибут Описание
maxConcurrentCalls Положительное целое число, ограничивающее количество сообщений, обрабатываемых в текущий момент в ServiceHost. Вызовы, превышающие этот предел, ставятся в очередь. Установка этого значения на 0 эквивалентна его установке на Int32.MaxValue. Значение по умолчанию: 16 * количество процессоров.
maxConcurrentInstances Положительное целое число, ограничивающее количество объектов InstanceContext, одновременно выполняющихся в ServiceHost. Запросы на создание дополнительных экземпляров ставятся в очередь и выполняются, когда происходит отступление от предельной величины. Значение по умолчанию: сумма maxConcurrentSessions и MaxConcurrentCalls
maxConcurrentSessions Положительное целое число, ограничивающее количество сеансов, которое может принять объект ServiceHost.

Служба принимает соединения сверх предела, но только каналы, количество которых меньше предельного значения, являются активными (сообщения считываются из канала). Значение по умолчанию: 100 * количество процессоров.

Дочерние элементы

Отсутствует.

Родительские элементы

Элемент Описание
<Поведение> Указывает элемент поведения.

Комментарии

Элементы регулирования ограничивают число одновременных вызовов, экземпляров или сеансов, чтобы предотвратить чрезмерное потребление ресурсов.

Каждый раз при достижении значений атрибутов происходит запись трассировки. Первая трассировка записывается как предупреждение.

Пример

В следующем примере конфигурации служба допускает максимум 2 одновременно выполняющихся вызова, а максимальное количество одновременно присутствующих экземпляров равно 10. Подробный пример выполнения этого примера см. в разделе Регулирование.

<behaviors>
  <serviceBehaviors>
    <behavior name="CalculatorServiceBehavior">
      <serviceDebug includeExceptionDetailInFaults="False" />
      <serviceMetadata httpGetEnabled="True" />
      <!-- Specify throttling behavior -->
      <serviceThrottling maxConcurrentCalls="2"
                         maxConcurrentInstances="10" />
    </behavior>
  </serviceBehaviors>
</behaviors>

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