SendMessageChannelCache Classe
Definição
Importante
Algumas informações dizem respeito a um produto pré-lançado que pode ser substancialmente modificado antes de ser lançado. A Microsoft não faz garantias, de forma expressa ou implícita, em relação à informação aqui apresentada.
Representa uma extensão que permite a personalização dos níveis de partilha de cache, as definições da cache de fábrica de canal e as definições da cache de canal para fluxos de trabalho que enviam mensagens para endpoints de serviço usando Send atividades de mensagens.
public ref class SendMessageChannelCache sealed : IDisposable
public sealed class SendMessageChannelCache : IDisposable
type SendMessageChannelCache = class
interface IDisposable
Public NotInheritable Class SendMessageChannelCache
Implements IDisposable
- Herança
-
SendMessageChannelCache
- Implementações
Exemplos
O exemplo seguinte mostra como usar a SendMessageChannelCache classe para partilhar um cache de canal entre duas aplicações de workflow num único domínio de aplicação.
//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);
Observações
Esta classe destina-se a fluxos de trabalho que enviam mensagens para endpoints de serviço. Esses fluxos de trabalho geralmente são de cliente, mas também podem ser serviços de fluxo de trabalho hospedados numa instância de WorkflowServiceHost.
Por defeito, num fluxo de trabalho alojado por um WorkflowServiceHost, a cache usada pelas Send atividades de mensagens é partilhada entre todas as instâncias do workflow no WorkflowServiceHost (cache ao nível do host). Para um fluxo de trabalho cliente que não é hospedado por um WorkflowServiceHost, o cache está disponível apenas para a instância do fluxo de trabalho (cache no nível da instância). O cache está desativado por defeito para qualquer atividade de envio no teu fluxo de trabalho que tenha endpoints definidos na configuração.
Para mais informações sobre como alterar os níveis predefinidos de partilha de cache e as definições de cache para a fábrica de canal e a cache de canal, consulte Alterar os Níveis de Partilha de Cache para Atividades de Envio.
Construtores
| Name | Description |
|---|---|
| SendMessageChannelCache() |
Inicializa uma nova instância da SendMessageChannelCache classe com as definições padrão de cache de fábrica e cache de canal. |
| SendMessageChannelCache(ChannelCacheSettings, ChannelCacheSettings, Boolean) |
Inicializa uma nova instância da SendMessageChannelCache classe com definições de cache de fábrica personalizadas, definições de cache de canal personalizadas e um valor que indica se deve ativar a cache. |
| SendMessageChannelCache(ChannelCacheSettings, ChannelCacheSettings) |
Inicializa uma nova instância da SendMessageChannelCache classe com definições personalizadas de cache de fábrica e cache de canal. |
Propriedades
| Name | Description |
|---|---|
| AllowUnsafeCaching |
Recebe ou define um valor que indica se deve ativar a cache (cache). |
| ChannelSettings |
Obtém ou define as definições da cache do canal. |
| FactorySettings |
Obtém ou define as definições do cache de fábrica do canal. |
Métodos
| Name | Description |
|---|---|
| Dispose() |
Liberta todos os recursos usados pela instância atual da SendMessageChannelCache classe. |
| Equals(Object) |
Determina se o objeto especificado é igual ao objeto atual. (Herdado de Object) |
| GetHashCode() |
Serve como função de hash predefinida. (Herdado de Object) |
| GetType() |
Obtém o Type da instância atual. (Herdado de Object) |
| MemberwiseClone() |
Cria uma cópia superficial do atual Object. (Herdado de Object) |
| ToString() |
Devolve uma cadeia que representa o objeto atual. (Herdado de Object) |