<channelSettings>
Especifica as definições da cache do canal.
<configuração>
<sistema. ServiceModel>
<comportamentos>
<serviceBehaviors>
<comportamento>
<sendMessageChannelCache>
<channelSettings>
Syntax
<behaviors>
<serviceBehaviors>
<behavior name="String">
<sendMessageChannelCache allowUnsafeCaching="Boolean">
<channelSettings idleTimeout="TimeSpan"
leaseTimeout="TimeSpan"
maxItemsInCache="Integer" />
</sendMessageChannelCache>
</behavior>
</serviceBehaviors>
</behaviors>
Atributos e Elementos
As secções seguintes descrevem atributos, elementos subordinados e elementos principais.
Atributos
Atributo | Descrição |
---|---|
idleTimeout | Um valor TimeSpan que especifica o intervalo máximo de tempo para o qual o objeto pode permanecer inativo na cache antes de ser eliminado. |
leaseTimeout | Um valor TimeSpan que especifica o intervalo de tempo após o qual um objeto é removido da cache. |
maxItemsInCache | Um número inteiro que especifica o número máximo de objetos que podem estar na cache. |
Elementos Subordinados
Nenhum.
Elementos Principais
Elemento | Descrição |
---|---|
<sendMessageChannelCache> | Um comportamento de serviço que permite a personalização dos níveis de partilha de cache, as definições da cache de fábrica do canal e as definições da cache do canal para fluxos de trabalho que enviam mensagens para pontos finais de serviço através das atividades enviar mensagens. |
Observações
Este comportamento do serviço destina-se a fluxos de trabalho que enviam mensagens para pontos finais de serviço. Normalmente, estes fluxos de trabalho são fluxos de trabalho de cliente, mas também podem ser serviços de fluxo de trabalho alojados num WorkflowServiceHost.
Por predefinição, num fluxo de trabalho alojado por um WorkflowServiceHost, a cache utilizada pelas Send atividades de mensagens é partilhada em todas as instâncias de fluxo de trabalho na (colocação em cache ao nível do WorkflowServiceHost anfitrião). Para um fluxo de trabalho de cliente que não é alojado por um WorkflowServiceHost, a cache só está disponível para a instância de fluxo de trabalho (colocação em cache ao nível da instância). A colocação em cache está desativada por predefinição para qualquer atividade de envio no fluxo de trabalho que tenha pontos finais definidos na configuração.
Para obter mais informações sobre como alterar os níveis de partilha de cache predefinidos e as definições de cache para a fábrica de canais e a cache do canal, veja Alterar os Níveis de Partilha de Cache para Atividades de Envio.
Exemplo
Num serviço de fluxo de trabalho alojado, pode especificar as definições de cache de fábrica e cache de canal no ficheiro de configuração da aplicação. Para tal, adicione um comportamento de serviço que contenha as definições de cache para a cache de fábrica e canal e adicione este comportamento de serviço ao seu serviço. O exemplo seguinte mostra o conteúdo de um ficheiro de configuração que contém o comportamento do MyChannelCacheBehavior
serviço com a cache de fábrica personalizada e as definições de cache de canal. Este comportamento do serviço é adicionado ao serviço através do 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>