Freigeben über


SendMessageChannelCache Konstruktoren

Definition

Initialisiert eine neue Instanz der SendMessageChannelCache-Klasse.

Überlädt

Name Beschreibung
SendMessageChannelCache()

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

SendMessageChannelCache(ChannelCacheSettings, ChannelCacheSettings)

Initialisiert eine neue Instanz der SendMessageChannelCache Klasse mit benutzerdefinierten Factorycache- und Kanalcacheeinstellungen.

SendMessageChannelCache(ChannelCacheSettings, ChannelCacheSettings, Boolean)

Initialisiert eine neue Instanz der SendMessageChannelCache Klasse mit benutzerdefinierten Factorycacheeinstellungen, benutzerdefinierten Kanalcacheeinstellungen und einem Wert, der angibt, ob die Zwischenspeicherung aktiviert werden soll.

SendMessageChannelCache()

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

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

Gilt für:

SendMessageChannelCache(ChannelCacheSettings, ChannelCacheSettings)

Initialisiert eine neue Instanz der SendMessageChannelCache Klasse mit benutzerdefinierten Factorycache- und Kanalcacheeinstellungen.

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 Kanalfabriken.

channelSettings
ChannelCacheSettings

Die Cacheeinstellungen für zwischengespeicherte Kanäle.

Beispiele

Das folgende Beispiel zeigt, wie Sie die SendMessageChannelCache Klasse verwenden, um einen Kanalcache zwischen zwei Workflowanwendungen in einer einzelnen App-Domä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 Kanalfabriken finden Sie unter ChannelFactory und ChannelFactory<TChannel>.

Sie können nur den Kanalfactorycache verwenden und den Kanalcache deaktivieren, indem Sie den Parameter an diesen Konstruktor übergeben, der channelSettings an eine ChannelCacheSettings Instanz mit dem MaxItemsInCache Wert 0 initialisiert wurde. Um den Cache für den Kanalfactorycache und den Kanalcache vollständig zu deaktivieren, übergeben Sie den factorySettings Parameter an diesen Konstruktor, der an eine ChannelCacheSettings Instanz mit dem MaxItemsInCache Wert 0 initialisiert wurde. Beachten Sie, dass Sie den Kanalcache nicht aktivieren können, wenn der Kanalfactorycache deaktiviert ist.

Gilt für:

SendMessageChannelCache(ChannelCacheSettings, ChannelCacheSettings, Boolean)

Initialisiert eine neue Instanz der SendMessageChannelCache Klasse mit benutzerdefinierten Factorycacheeinstellungen, benutzerdefinierten Kanalcacheeinstellungen und einem Wert, der angibt, ob die Zwischenspeicherung 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 Kanalfabriken.

channelSettings
ChannelCacheSettings

Die Cacheeinstellungen für zwischengespeicherte Kanäle.

allowUnsafeCaching
Boolean

truezum Aktivieren der Zwischenspeicherung; 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 die Zwischenspeicherung jedoch in diesem Fall aktivieren möchten, rufen Sie diesen Konstruktor mit dem allowUnsafeCaching Parameter auf true. Fügen Sie als Nächstes die neue Instanz dieser Klasse als Erweiterung zu einem Workflowdiensthost oder einer Workflowinstanz hinzu.

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

Gilt für: