Freigeben über


SendMessageChannelCache Konstruktoren

Definition

Initialisiert eine neue Instanz der SendMessageChannelCache-Klasse.

Überlädt

SendMessageChannelCache()

Initialisiert eine neue Instanz der SendMessageChannelCache-Klasse mit Standardeinstellungen für den Factorycache und den Channelcache.

SendMessageChannelCache(ChannelCacheSettings, ChannelCacheSettings)

Initialisiert eine neue Instanz der SendMessageChannelCache-Klasse mit benutzerdefinierten Einstellungen für den Cache und den Channelcache.

SendMessageChannelCache(ChannelCacheSettings, ChannelCacheSettings, Boolean)

Initialisiert eine neue Instanz der SendMessageChannelCache-Klasse mit benutzerdefinierten Factorycacheeinstellungen, benutzerdefinierten Channelcacheeinstellungen und einem Wert, der angibt, ob das Zwischenspeichern aktiviert werden soll.

SendMessageChannelCache()

Initialisiert eine neue Instanz der SendMessageChannelCache-Klasse mit Standardeinstellungen für den Factorycache und den Channelcache.

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

Gilt für

SendMessageChannelCache(ChannelCacheSettings, ChannelCacheSettings)

Initialisiert eine neue Instanz der SendMessageChannelCache-Klasse mit benutzerdefinierten Einstellungen für den Cache und den Channelcache.

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)

Parameter

factorySettings
ChannelCacheSettings

Die Cacheeinstellungen für zwischengespeicherte Channelfactorys.

channelSettings
ChannelCacheSettings

Die Cacheeinstellungen für zwischengespeicherte Channels.

Beispiele

Im folgenden Beispiel wird gezeigt, wie die SendMessageChannelCache-Klasse verwendet wird, um einen Channelcache zwischen zwei Workflowanwendungen in einer einzelnen Anwendungsdomäne freizugeben.


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

Hinweise

Weitere Informationen zu Kanalfactorys finden Sie unter ChannelFactory und ChannelFactory<TChannel>.

Sie können festlegen, nur den Channelfactorycache zu verwenden und den Channelcache zu deaktivieren, indem Sie den channelSettings-Parameter an diesen Konstruktor übergeben, der auf eine ChannelCacheSettings-Instanz mit dem MaxItemsInCache-Wert 0 initialisiert wurde. Um den Cache sowohl für den Channelfactorycache als auch den Channelcache vollständig zu deaktivieren, übergeben Sie den factorySettings-Parameter an diesen Konstruktor, der mit einer ChannelCacheSettings-Instanz mit dem MaxItemsInCache-Wert 0 initialisiert wurde. Beachten Sie, dass Sie den Channelcache nicht aktivieren können, wenn der Channelfactorycache deaktiviert wird.

Gilt für

SendMessageChannelCache(ChannelCacheSettings, ChannelCacheSettings, Boolean)

Initialisiert eine neue Instanz der SendMessageChannelCache-Klasse mit benutzerdefinierten Factorycacheeinstellungen, benutzerdefinierten Channelcacheeinstellungen und einem Wert, der angibt, ob das Zwischenspeichern aktiviert werden soll.

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)

Parameter

factorySettings
ChannelCacheSettings

Die Cacheeinstellungen für zwischengespeicherte Channelfactorys.

channelSettings
ChannelCacheSettings

Die Cacheeinstellungen für zwischengespeicherte Channels.

allowUnsafeCaching
Boolean

true, um das Zwischenspeichern zu aktivieren; andernfalls false.

Hinweise

Standardmäßig ist der Cache nur für Send Aktivitäten verfügbar, die keine in der Konfiguration definierten Endpunkte verwenden. Wenn Sie jedoch die Zwischenspeicherung in diesem Fall aktivieren möchten, rufen Sie diesen Konstruktor mit dem allowUnsafeCaching parametersatz auf true. Fügen Sie danach die neue Instanz dieser Klasse als Erweiterung einem Workflowdiensthost oder einer Workflowinstanz hinzu.

Weitere Informationen zu Kanalfactorys finden Sie unter ChannelFactory und ChannelFactory<TChannel>.

Gilt für