<sendMessageChannelCache>
Um comportamento de serviço que permite a personalização do cache do compartilhamento níveis, as configurações de cache da fábrica de canal e as configurações de cache do canal para fluxos de trabalho que enviam mensagens a pontos de extremidade de serviço usando atividades de mensagem de envio.
<configuration>
<system.ServiceModel>
<behaviors>
<serviceBehaviors>
<behavior>
<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 seções a seguir descrevem atributos, elementos filho e elementos pai.
Atributos
Atributo | Descrição |
---|---|
allowUnsafeCaching | Um valor booliano que indica se deve ativar o cache. Se o serviço de fluxo de trabalho tiver ligações personalizadas ou comportamentos personalizados, o cache pode ser insegura e, portanto, está desabilitado por padrão. No entanto, se você quiser ativar o cache, defina esta propriedade como true. |
Elementos filho
Elemento | Descrição |
---|---|
<channelSettings> | Especifica as configurações de cache do canal. |
<factorySettings> | Especifica as configurações de cache da fábrica de canal. |
Elementos pai
Elemento | Descrição |
---|---|
<behavior> de <serviceBehaviors> | Especifica um elemento de comportamento. |
Comentários
Esse comportamento de serviço destina-se a fluxos de trabalho que enviam mensagens a pontos de extremidade de serviço. Esses fluxos de trabalho normalmente são fluxos de trabalho do cliente, mas também pode ser o serviços de fluxo de trabalho que são hospedados em um WorkflowServiceHost.
Por padrão, em um fluxo de trabalho hospedado por um WorkflowServiceHost, o cache usado pelo Send atividades de mensagem é compartilhada entre todas as instâncias de fluxo de trabalho no WorkflowServiceHost (nível de host de cache). Um fluxo de trabalho de cliente não é hospedado por um WorkflowServiceHost, o cache está disponível somente para a instância de fluxo de trabalho (cache de nível de instância). O cache é desabilitado por padrão para qualquer atividade de envio do fluxo de trabalho que tem pontos de extremidade definidos na configuração.
Para obter mais informações sobre como alterar os níveis de compartilhamento de cache padrão e as configurações de cache para a fábrica de canais e o cache de canais, confira Como alterar os níveis de compartilhamento de cache para atividades de envio.
Exemplo
Em um serviço hospedado de fluxo de trabalho, você pode especificar os cache e o canal cache configurações de fábrica no arquivo de configuração do aplicativo. Para fazer isso, adicionar um comportamento de serviço que contém as configurações de cache para cache de fábrica e o canal e adicionar esse comportamento de serviço ao seu serviço. O exemplo a seguir mostra o conteúdo de um arquivo de configuração que contém o comportamento do serviço MyChannelCacheBehavior
com as configurações personalizadas de cache de fábrica e cache de canais. Esse comportamento de serviço é adicionado ao serviço por meio do atributo behaviorConfiguration
.
<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>