<sendMessageChannelCache>
Um comportamento de serviço que permite a personalização dos níveis de partilha da cache, as definições da cache de fábrica de canais 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.
<configuração>
<sistema. ServiceModel>
<comportamentos>
<serviceBehaviors>
<comportamento>
<sendMessageChannelCache>
Syntax
<behaviors>
<serviceBehaviors>
<behavior name="String">
<sendMessageChannelCache allowUnsafeCaching="Boolean">
<channelSettings idleTimeout="TimeSpan"
leaseTimeout="TimeSpan"
maxItemsInCache="Integer" />
<factorySettings 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 |
---|---|
allowUnsafeCaching | Um valor booleano que indica se deve ativar a colocação em cache. Se o seu serviço de fluxo de trabalho tiver enlaces personalizados ou comportamentos personalizados, a colocação em cache pode não ser seguras e, por conseguinte, está desativada por predefinição. No entanto, se quiser ativar a colocação em cache, defina esta propriedade como verdadeira. |
Elementos Subordinados
Elemento | Descrição |
---|---|
<channelSettings> | Especifica as definições da cache do canal. |
<factorySettings> | Especifica as definições da cache de fábrica do canal. |
Elementos Principais
Elemento | Descrição |
---|---|
<comportamento> de <serviceBehaviors> | Especifica um elemento de comportamento. |
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 no (colocação em WorkflowServiceHost cache ao nível do anfitrião). Para um fluxo de trabalho de cliente que não está alojado por um WorkflowServiceHost, a cache está disponível apenas para a instância do 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, consulte Alterar os Níveis de Partilha da Cache para Enviar Atividades.
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>