SendMessageChannelCache Clase
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Representa una extensión que permite personalizar los niveles de uso compartido de la memoria caché, la configuración de la memoria caché del generador de canales y la de la memoria caché del canal para los flujos de trabajo que envían mensajes a los extremos de servicio usando las actividades de mensajería de Send.
public ref class SendMessageChannelCache sealed : IDisposable
public sealed class SendMessageChannelCache : IDisposable
type SendMessageChannelCache = class
interface IDisposable
Public NotInheritable Class SendMessageChannelCache
Implements IDisposable
- Herencia
-
SendMessageChannelCache
- Implementaciones
Ejemplos
En el siguiente ejemplo se muestra el uso de la clase SendMessageChannelCache para compartir la memoria caché de un canal entre dos aplicaciones de flujo de trabajo en un único dominio de aplicación.
//sharing a channel cache between two workflow applications in a single app-domain.
sharedChannelCache = new SendMessageChannelCache(new ChannelCacheSettings { MaxItemsInCache = 5 }, new ChannelCacheSettings { MaxItemsInCache = 5 });
WorkflowApplication workflowApp1 = new WorkflowApplication(workflow);
workflowApp1.Completed = new Action<WorkflowApplicationCompletedEventArgs>(OnCompleted);
workflowApp1.Extensions.Add(sharedChannelCache);
WorkflowApplication workflowApp2 = new WorkflowApplication(workflow);
workflowApp2.Completed = new Action<WorkflowApplicationCompletedEventArgs>(OnCompleted);
workflowApp2.Extensions.Add(sharedChannelCache);
//disabling the channel cache so that channels are closed after being used.
SendMessageChannelCache disabledChannelCache = new SendMessageChannelCache(new ChannelCacheSettings { MaxItemsInCache = 0 }, new ChannelCacheSettings { MaxItemsInCache = 0 });
WorkflowApplication workflowApp3 = new WorkflowApplication(workflow);
workflowApp3.Completed = new Action<WorkflowApplicationCompletedEventArgs>(OnCompleted);
workflowApp3.Extensions.Add(disabledChannelCache);
Comentarios
Esta clase está orientada para los flujos de trabajo que envían mensajes a los extremos de servicio. Estos flujos de trabajo son normalmente flujos de trabajo del cliente pero podrían ser también servicios de flujo de trabajo que se hospedan en WorkflowServiceHost.
De manera predeterminada, en un flujo de trabajo hospedado por WorkflowServiceHost, la memoria caché usada por las actividades de mensajería de Send se comparte en todas las instancias de flujo de trabajo en WorkflowServiceHost (el almacenamiento en caché de nivel de host). Para un flujo de trabajo del cliente que no esté hospedado por WorkflowServiceHost, la memoria caché está solo disponible para la instancia de flujo de trabajo (almacenamiento en caché en el nivel de instancia). El almacenamiento en la memoria caché está deshabilitado de forma predeterminada para cualquier actividad de envío del flujo de trabajo que tenga definidos extremos en su 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é 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.
Constructores
SendMessageChannelCache() |
Inicializa una nueva instancia de la clase SendMessageChannelCache con una configuración predeterminada de la memoria caché del generador y del canal. |
SendMessageChannelCache(ChannelCacheSettings, ChannelCacheSettings) |
Inicializa una nueva instancia de la clase SendMessageChannelCache con una configuración personalizada de la memoria caché del generador y del canal. |
SendMessageChannelCache(ChannelCacheSettings, ChannelCacheSettings, Boolean) |
Inicializa una nueva instancia de la clase SendMessageChannelCache con una configuración personalizada de la memoria caché del generador y del canal, y un valor que indica si se debe activar el almacenamiento en la memoria caché. |
Propiedades
AllowUnsafeCaching |
Obtiene o establece un valor que indica si se debe activar el almacenamiento en la memoria caché. |
ChannelSettings |
Obtiene o establece la configuración de la memoria caché del canal. |
FactorySettings |
Obtiene o establece la configuración de la memoria caché del generador de canales. |
Métodos
Dispose() |
Libera todos los recursos usados por la instancia actual de la clase SendMessageChannelCache. |
Equals(Object) |
Determina si el objeto especificado es igual que el objeto actual. (Heredado de Object) |
GetHashCode() |
Sirve como la función hash predeterminada. (Heredado de Object) |
GetType() |
Obtiene el Type de la instancia actual. (Heredado de Object) |
MemberwiseClone() |
Crea una copia superficial del Object actual. (Heredado de Object) |
ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |