Condividi tramite


SendMessageChannelCache Costruttori

Definizione

Inizializza una nuova istanza della classe SendMessageChannelCache.

Overload

Nome Descrizione
SendMessageChannelCache()

Inizializza una nuova istanza della SendMessageChannelCache classe con le impostazioni predefinite della cache della factory e della cache del canale.

SendMessageChannelCache(ChannelCacheSettings, ChannelCacheSettings)

Inizializza una nuova istanza della classe con impostazioni personalizzate della SendMessageChannelCache cache della factory e della cache del canale.

SendMessageChannelCache(ChannelCacheSettings, ChannelCacheSettings, Boolean)

Inizializza una nuova istanza della SendMessageChannelCache classe con impostazioni della cache predefinite personalizzate, impostazioni della cache del canale personalizzate e un valore che indica se attivare la memorizzazione nella cache.

SendMessageChannelCache()

Inizializza una nuova istanza della SendMessageChannelCache classe con le impostazioni predefinite della cache della factory e della cache del canale.

public:
 SendMessageChannelCache();
public SendMessageChannelCache();
Public Sub New ()

Si applica a

SendMessageChannelCache(ChannelCacheSettings, ChannelCacheSettings)

Inizializza una nuova istanza della classe con impostazioni personalizzate della SendMessageChannelCache cache della factory e della cache del canale.

public:
 SendMessageChannelCache(System::ServiceModel::Activities::ChannelCacheSettings ^ factorySettings, System::ServiceModel::Activities::ChannelCacheSettings ^ channelSettings);
public SendMessageChannelCache(System.ServiceModel.Activities.ChannelCacheSettings factorySettings, System.ServiceModel.Activities.ChannelCacheSettings channelSettings);
new System.ServiceModel.Activities.SendMessageChannelCache : System.ServiceModel.Activities.ChannelCacheSettings * System.ServiceModel.Activities.ChannelCacheSettings -> System.ServiceModel.Activities.SendMessageChannelCache
Public Sub New (factorySettings As ChannelCacheSettings, channelSettings As ChannelCacheSettings)

Parametri

factorySettings
ChannelCacheSettings

Impostazioni della cache per channel factory memorizzate nella cache.

channelSettings
ChannelCacheSettings

Impostazioni della cache per i canali memorizzati nella cache.

Esempio

L'esempio seguente illustra come usare la SendMessageChannelCache classe per condividere una cache del canale tra due applicazioni del flusso di lavoro in un singolo dominio dell'app.


//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);

Commenti

Per altre informazioni sulle channel factory, vedere ChannelFactory e ChannelFactory<TChannel>.

È possibile scegliere di usare solo la cache della channel factory e disabilitare la cache del canale passando il channelSettings parametro a questo costruttore inizializzato a un'istanza ChannelCacheSettings con valore MaxItemsInCache 0. Per disabilitare completamente la cache sia per la cache della channel factory che per la cache del canale, passare il factorySettings parametro a questo costruttore inizializzato a un'istanza ChannelCacheSettings con un MaxItemsInCache valore pari a 0. Si noti che non è possibile attivare la cache del canale se la cache della channel factory è disabilitata.

Si applica a

SendMessageChannelCache(ChannelCacheSettings, ChannelCacheSettings, Boolean)

Inizializza una nuova istanza della SendMessageChannelCache classe con impostazioni della cache predefinite personalizzate, impostazioni della cache del canale personalizzate e un valore che indica se attivare la memorizzazione nella cache.

public:
 SendMessageChannelCache(System::ServiceModel::Activities::ChannelCacheSettings ^ factorySettings, System::ServiceModel::Activities::ChannelCacheSettings ^ channelSettings, bool allowUnsafeCaching);
public SendMessageChannelCache(System.ServiceModel.Activities.ChannelCacheSettings factorySettings, System.ServiceModel.Activities.ChannelCacheSettings channelSettings, bool allowUnsafeCaching);
new System.ServiceModel.Activities.SendMessageChannelCache : System.ServiceModel.Activities.ChannelCacheSettings * System.ServiceModel.Activities.ChannelCacheSettings * bool -> System.ServiceModel.Activities.SendMessageChannelCache
Public Sub New (factorySettings As ChannelCacheSettings, channelSettings As ChannelCacheSettings, allowUnsafeCaching As Boolean)

Parametri

factorySettings
ChannelCacheSettings

Impostazioni della cache per channel factory memorizzate nella cache.

channelSettings
ChannelCacheSettings

Impostazioni della cache per i canali memorizzati nella cache.

allowUnsafeCaching
Boolean

true per attivare la memorizzazione nella cache; in caso contrario, false.

Commenti

Per impostazione predefinita, la cache è disponibile solo per Send le attività che non usano gli endpoint definiti nella configurazione. Tuttavia, se si vuole attivare la memorizzazione nella cache in questo caso chiamare questo costruttore con il allowUnsafeCaching parametro impostato su true. Successivamente, aggiungi la nuova istanza di questa classe come estensione a un host di servizio del flusso di lavoro o a un'istanza del flusso di lavoro.

Per altre informazioni sulle channel factory, vedere ChannelFactory e ChannelFactory<TChannel>.

Si applica a