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 habilita 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 Send actividades de mensajería.
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 ejemplo siguiente se muestra cómo usar la SendMessageChannelCache clase para compartir una caché de canales 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á pensada para flujos de trabajo que envían mensajes a puntos de conexión de servicio. Estos flujos de trabajo suelen ser flujos de trabajo para clientes, pero también pueden ser servicios de flujo de trabajo alojados en un 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 WorkflowServiceHost, la 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.
Constructores
| Nombre | Description |
|---|---|
| SendMessageChannelCache() |
Inicializa una nueva instancia de la SendMessageChannelCache clase con la caché de fábrica predeterminada y la configuración de caché del canal. |
| SendMessageChannelCache(ChannelCacheSettings, ChannelCacheSettings, Boolean) |
Inicializa una nueva instancia de la SendMessageChannelCache clase con la configuración de caché de fábrica personalizada, la configuración de caché de canal personalizada y un valor que indica si se debe activar el almacenamiento en caché. |
| SendMessageChannelCache(ChannelCacheSettings, ChannelCacheSettings) |
Inicializa una nueva instancia de la SendMessageChannelCache clase con la caché de fábrica personalizada y la configuración de caché del canal. |
Propiedades
| Nombre | Description |
|---|---|
| AllowUnsafeCaching |
Obtiene o establece un valor que indica si se va a activar el almacenamiento en caché. |
| ChannelSettings |
Obtiene o establece la configuración de la caché del canal. |
| FactorySettings |
Obtiene o establece la configuración de la caché del generador de canales. |
Métodos
| Nombre | Description |
|---|---|
| Dispose() |
Libera todos los recursos usados por la instancia actual de la SendMessageChannelCache clase . |
| Equals(Object) |
Determina si el objeto especificado es igual al objeto actual. (Heredado de Object) |
| GetHashCode() |
Actúa 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 Objectactual. (Heredado de Object) |
| ToString() |
Devuelve una cadena que representa el objeto actual. (Heredado de Object) |