<factorySettings>
Specifica le impostazioni della cache della channel factory.
<Configurazione>
<Sistema. Servicemodel>
<Comportamenti>
<Servicebehaviors>
<Comportamento>
<sendMessageChannelCache>
<factorySettings>
Sintassi
<behaviors>
<serviceBehaviors>
<behavior name="String">
<sendMessageChannelCache allowUnsafeCaching="Boolean" >
<factorySettings idleTimeout="TimeSpan"
leaseTimeout="TimeSpan"
maxItemsInCache="Integer" />
</sendMessageChannelCache>
</behavior>
</serviceBehaviors>
</behaviors>
Attributi ed elementi
Nelle sezioni seguenti vengono descritti gli attributi, gli elementi figlio e gli elementi padre.
Attributi
Attributo | Descrizione |
---|---|
idleTimeout | Valore TimeSpan che specifica l'intervallo di tempo massimo durante il quale l'oggetto può rimanere inattivo nella cache prima di essere eliminato. |
leaseTimeout | Valore TimeSpan che specifica l'intervallo di tempo dopo il quale un oggetto viene rimosso dalla cache. |
maxItemsInCache | Integer che specifica il numero massimo di oggetti che possono essere memorizzati nella cache. |
Elementi figlio
Nessuno.
Elementi padre
Elemento | Descrizione |
---|---|
<sendMessageChannelCache> | Comportamento del servizio che consente la personalizzazione dei livelli di condivisione della cache, delle impostazioni della cache della channel factory e delle impostazioni della cache del canale per flussi di lavoro che inviano messaggi a endpoint di servizio utilizzando attività della messaggistica di invio. |
Commenti
Questo comportamento del servizio è designato per flussi di lavoro che inviano messaggi a endpoint di servizio. Questi sono in genere flussi di lavoro del client ma potrebbero essere anche servizi del flusso di lavoro ospitati in un oggetto WorkflowServiceHost.
Per impostazione predefinita, in un flusso di lavoro ospitato da un oggetto WorkflowServiceHost, la cache usata da attività di messaggistica Send è condivisa attraverso tutte le istanze del flusso di lavoro in WorkflowServiceHost (memorizzazione nella cache a livello di host). Per un flusso di lavoro del client che non è ospitato da un oggetto WorkflowServiceHost, la cache è disponibile solo all'istanza del flusso di lavoro (memorizzazione nella cache a livello di istanza). Per impostazione predefinita, la memorizzazione nella cache è disabilitata per qualsiasi attività di invio nel flusso di lavoro che dispone di endpoint definiti nella configurazione.
Per altre informazioni su come modificare i livelli di condivisione della cache e le impostazioni di cache predefinite per la channel factory e la cache dei canali, vedere Modifica dei livelli di condivisione della cache per le attività di invio.
Esempio
In un servizio flusso di lavoro ospitato è possibile specificare le impostazioni della cache della factory e della cache del canale nel file di configurazione dell'applicazione. A tale scopo, aggiungere un comportamento del servizio contenente le impostazioni della cache della factory e del canale e aggiungere tale comportamento al servizio. Nell'esempio seguente viene illustrato il contenuto di un file di configurazione che contiene il comportamento del MyChannelCacheBehavior
servizio con le impostazioni della cache della factory e della cache del canale personalizzate. Questo comportamento del servizio viene aggiunto al servizio tramite l'attributo 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>