SendMessageChannelCache Konstruktorer

Definition

Initierar en ny instans av SendMessageChannelCache klassen.

Överlagringar

Name Description
SendMessageChannelCache()

Initierar en ny instans av SendMessageChannelCache klassen med standardinställningarna för fabrikscache och kanalcache.

SendMessageChannelCache(ChannelCacheSettings, ChannelCacheSettings)

Initierar en ny instans av SendMessageChannelCache klassen med anpassade inställningar för fabrikscache och kanalcache.

SendMessageChannelCache(ChannelCacheSettings, ChannelCacheSettings, Boolean)

Initierar en ny instans av SendMessageChannelCache klassen med anpassade inställningar för fabrikscache, inställningar för anpassad kanalcache och ett värde som anger om cachelagring ska aktiveras.

SendMessageChannelCache()

Initierar en ny instans av SendMessageChannelCache klassen med standardinställningarna för fabrikscache och kanalcache.

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

Gäller för

SendMessageChannelCache(ChannelCacheSettings, ChannelCacheSettings)

Initierar en ny instans av SendMessageChannelCache klassen med anpassade inställningar för fabrikscache och kanalcache.

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)

Parametrar

factorySettings
ChannelCacheSettings

Cacheinställningarna för cachelagrade kanalfabriker.

channelSettings
ChannelCacheSettings

Cacheinställningarna för cachelagrade kanaler.

Exempel

I följande exempel visas hur du använder SendMessageChannelCache klassen för att dela en kanalcache mellan två arbetsflödesprogram i en enda appdomän.


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

Kommentarer

Mer information om kanalfabriker finns i ChannelFactory och ChannelFactory<TChannel>.

Du kan välja att endast använda kanalfabrikens cacheminne och inaktivera kanalcachen genom att skicka parametern channelSettings till den här konstruktorn som initierats till en ChannelCacheSettings instans med MaxItemsInCache värdet 0. Om du vill inaktivera cachen helt för både kanalfabrikens cacheminne och kanalcachen skickar du parametern factorySettings till den här konstruktorn som initierats till en ChannelCacheSettings instans med MaxItemsInCache värdet 0. Observera att du inte kan aktivera kanalcachen om kanalfabrikens cache är inaktiverad.

Gäller för

SendMessageChannelCache(ChannelCacheSettings, ChannelCacheSettings, Boolean)

Initierar en ny instans av SendMessageChannelCache klassen med anpassade inställningar för fabrikscache, inställningar för anpassad kanalcache och ett värde som anger om cachelagring ska aktiveras.

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)

Parametrar

factorySettings
ChannelCacheSettings

Cacheinställningarna för cachelagrade kanalfabriker.

channelSettings
ChannelCacheSettings

Cacheinställningarna för cachelagrade kanaler.

allowUnsafeCaching
Boolean

trueför att aktivera cachelagring. annars . false

Kommentarer

Som standard är cachen endast tillgänglig för Send aktiviteter som inte använder slutpunkter som definierats i konfigurationen. Men om du vill aktivera cachelagring i det här fallet anropar du den här konstruktorn med parametern allowUnsafeCaching inställd på true. Lägg sedan till den nya instansen av den här klassen som ett tillägg till en arbetsflödestjänstvärd eller en arbetsflödesinstans.

Mer information om kanalfabriker finns i ChannelFactory och ChannelFactory<TChannel>.

Gäller för