Condividi tramite


SendMessageChannelCache Costruttori

Definizione

Inizializza una nuova istanza della classe SendMessageChannelCache.

Overload

SendMessageChannelCache()

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

SendMessageChannelCache(ChannelCacheSettings, ChannelCacheSettings)

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

SendMessageChannelCache(ChannelCacheSettings, ChannelCacheSettings, Boolean)

Inizializza una nuova istanza della classe SendMessageChannelCache con impostazioni della cache di factory personalizzate, impostazioni della cache di canale personalizzate e un valore che indica se attivare caching.

SendMessageChannelCache()

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

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

Si applica a

SendMessageChannelCache(ChannelCacheSettings, ChannelCacheSettings)

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

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 le channel factory memorizzati nella cache.

channelSettings
ChannelCacheSettings

Impostazioni della cache per i canali memorizzati nella cache.

Esempio

Nell'esempio seguente viene mostrato come utilizzare la classe SendMessageChannelCache per condividere una cache del canale tra due applicazioni del flusso di lavoro in un solo dominio dell'applicazione.


//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 ulteriori informazioni sulle channel factory, vedere ChannelFactory e ChannelFactory<TChannel>.

È possibile scegliere di utilizzare solo la cache della channel factory e disabilitare la cache del canale passando il parametro channelSettings a questo costruttore inizializzato su un'istanza di ChannelCacheSettings con un valore MaxItemsInCache pari a 0. Per disabilitare completamente la cache sia per la cache della channel factory sia per la cache del canale, passare il parametro factorySettings a questo costruttore inizializzato su un'istanza di ChannelCacheSettings con un valore MaxItemsInCache pari a 0. Notare 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 classe SendMessageChannelCache con impostazioni della cache di factory personalizzate, impostazioni della cache di canale personalizzate e un valore che indica se attivare caching.

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 le channel factory memorizzati 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 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 aggiungere la nuova istanza di questa classe come estensione a un host del servizio di flusso di lavoro o a un'istanza del flusso di lavoro.

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

Si applica a