<factorySettings>

Especifica la configuración de la caché del generador de canales.

<configuration>
  <system.ServiceModel>
    <behaviors>
      <serviceBehaviors>
        <behavior>
          <sendMessageChannelCache>
            <factorySettings>

Syntax

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

Atributos y elementos

En las siguientes secciones se describen los atributos, los elementos secundarios y los elementos primarios.

Attributes

Atributo Description
idleTimeout Valor TimeSpan que especifica el intervalo máximo de tiempo para el que el objeto puede permanecer inactivo en la memoria caché antes de eliminarse.
leaseTimeout Valor TimeSpan que especifica el intervalo de tiempo después del cual se quita un objeto de la memoria caché.
maxItemsInCache Entero que especifica el número máximo de objetos que pueden estar en la memoria caché.

Elementos secundarios

Ninguno.

Elementos primarios

Elemento Description
<sendMessageChannelCache> Un comportamiento de servicio que permite la personalización de los niveles de uso compartido de caché, la configuración de la caché del generador de canales y la configuración de la caché del canal para los flujos de trabajo que envían mensajes a los puntos de conexión de servicio mediante actividades de envío de mensajería.

Observaciones

Este comportamiento de servicio está pensado para flujos de trabajo que envían mensajes a puntos de conexión de servicio. Estos flujos de trabajo suelen ser flujos de trabajo de cliente, pero también pueden ser servicios de flujo de trabajo hospedados en .WorkflowServiceHost

De forma predeterminada, en un flujo de trabajo hospedado por , WorkflowServiceHostla memoria caché usada por Send las actividades de mensajería se comparte en todas las instancias de flujo de trabajo de (almacenamiento en WorkflowServiceHost caché de nivel de host). Para un flujo de trabajo de cliente que no está hospedado por , WorkflowServiceHostla memoria caché solo está disponible para la instancia de flujo de trabajo (almacenamiento en caché de nivel de instancia). El almacenamiento en caché está deshabilitado de forma predeterminada para cualquier actividad de envío en el flujo de trabajo que tenga puntos de conexión definidos en la configuración.

Para obtener más información sobre cómo cambiar los niveles de uso compartido de caché predeterminados y la configuración de caché de caché para el generador de canales y la caché de canales, consulte Cambio de los niveles de uso compartido de caché para actividades de envío.

Example

En un servicio de flujo de trabajo hospedado, puede especificar la caché de fábrica y la configuración de caché del canal en el archivo de configuración de la aplicación. Para ello, agregue un comportamiento de servicio que contenga la configuración de caché de la caché de fábrica y canal y agregue este comportamiento de servicio al servicio. En el ejemplo siguiente se muestra el contenido de un archivo de configuración que contiene el comportamiento del MyChannelCacheBehavior servicio con la caché de fábrica personalizada y la configuración de caché del canal. Este comportamiento de servicio se agrega al servicio a través del behaviorConfiguration atributo .

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

Consulte también