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


<channelSettings>

Указывает параметры кэша канала.

<Конфигурации>
  <Системы. Servicemodel>
    <Поведения>
      <serviceBehaviors>
        <Поведение>
          <sendMessageChannelCache>
            <channelSettings>

Синтаксис

<behaviors>
  <serviceBehaviors>
    <behavior name="String">
      <sendMessageChannelCache allowUnsafeCaching="Boolean">
        <channelSettings idleTimeout="TimeSpan"
                         leaseTimeout="TimeSpan"
                         maxItemsInCache="Integer" />
      </sendMessageChannelCache>
    </behavior>
  </serviceBehaviors>
</behaviors>  

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

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

Атрибуты

Атрибут Описание
idleTimeout Значение TimeSpan, указывающее максимальный интервал времени, в течение которого объект может оставаться неактивным в кэше, прежде чем будет удален.
leaseTimeout Значение TimeSpan, указывающее интервал времени, по истечении которого объект удаляется из кэша.
maxItemsInCache Целое число, указывающее максимальное количество объектов, которые могут находиться в кэше.

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

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

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

Элемент Описание
<sendMessageChannelCache> Поведение службы, которое позволяет изменить уровни доступа к кэшу, параметры кэша фабрики канала и параметры кэша канала для рабочих процессов, которые отправляют сообщения в конечные точки служб с использованием действий отправки сообщений.

Комментарии

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

По умолчанию в рабочем процессе, размещенном в WorkflowServiceHost, кэш, используемый действиями обмена сообщениями Send, совместно используется всеми экземплярами рабочих процессов в WorkflowServiceHost (кэширование уровня узла). Для клиентского рабочего процесса, не размещенного в WorkflowServiceHost, кэш доступен только для экземпляра рабочего процесса (кэширование уровня экземпляра). По умолчанию кэширование отключено для всех действий отправки в рабочем процессе, в конфигурации которого определены конечные точки.

Дополнительные сведения об изменении уровней общего доступа к кэшу по умолчанию и параметров кэша для фабрики каналов и кэша каналов см. в разделе Изменение уровней общего доступа к кэшу для действий отправки.

Пример

В размещенной службе рабочего процесса в файле конфигурации приложения можно указать параметры кэша фабрики и канала. Для этого необходимо создать поведение службы, содержащее параметры для кэша фабрики и канала, и добавить это поведение в службу. В следующем примере показано содержимое файла конфигурации, содержащего MyChannelCacheBehavior поведение службы с пользовательскими параметрами кэша фабрики и кэша каналов. Это поведение службы добавляется в службу с помощью атрибута behaviorConfiguration .

<configuration>
  <system.serviceModel>  
    <!-- List of other config sections here -->
    <behaviors>  
      <serviceBehaviors>  
        <behavior name="MyChannelCacheBehavior">  
          <sendMessageChannelCache allowUnsafeCaching ="false" >  
            <!-- Control only the host level settings -->
            <factorySettings maxItemsInCache = "8" idleTimeout = "00:05:00" leaseTimeout="10:00:00" />  
            <channelSettings maxItemsInCache = "32" idleTimeout = "00:05:00" leaseTimeout="00:06:00" />  
          </sendMessageChannelCache>  
        </behavior>  
      </serviceBehaviors>  
    </behaviors>  
    <services>  
      <service name="MyService" behaviorConfiguration="MyChannelCacheBehavior" />  
    </services>  
  </system.serviceModel>  
</configuration>  

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