SendMessageChannelCache Конструкторы

Определение

Инициализирует новый экземпляр класса SendMessageChannelCache.

Перегрузки

SendMessageChannelCache()

Инициализирует новый экземпляр класса SendMessageChannelCache кэшем фабрики по умолчанию и параметрами кэша канала.

SendMessageChannelCache(ChannelCacheSettings, ChannelCacheSettings)

Инициализирует новый экземпляр класса SendMessageChannelCache кэшем пользовательской фабрики и параметрами кэша канала.

SendMessageChannelCache(ChannelCacheSettings, ChannelCacheSettings, Boolean)

Инициализирует новый экземпляр класса SendMessageChannelCache параметрами кэша пользовательской фабрики, параметрами кэша пользовательского канала и значением, указывающим, следует ли включать кэширование.

SendMessageChannelCache()

Инициализирует новый экземпляр класса SendMessageChannelCache кэшем фабрики по умолчанию и параметрами кэша канала.

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

Применяется к

SendMessageChannelCache(ChannelCacheSettings, ChannelCacheSettings)

Инициализирует новый экземпляр класса SendMessageChannelCache кэшем пользовательской фабрики и параметрами кэша канала.

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)

Параметры

factorySettings
ChannelCacheSettings

Настройки кэша для кэшированных фабрик каналов.

channelSettings
ChannelCacheSettings

Настройки кэша для кэшированных каналов.

Примеры

В следующем примере показано, как использовать класс SendMessageChannelCache для совместного доступа к каналу со стороны двух приложений рабочего процесса в одном домене приложений.


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

Комментарии

Дополнительные сведения о фабриках каналов см. в описаниях классов ChannelFactory и ChannelFactory<TChannel>.

Можно использовать только кэш фабрики каналов и отключить кэш канала, передав параметр channelSettings конструктору, инициализирующему экземпляр ChannelCacheSettings с параметром MaxItemsInCache, установленным в значение 0. Чтобы полностью отключить кэш (кэш фабрики каналов и кэш канала), передайте параметр factorySettings данному конструктору, инициализирующему экземпляр ChannelCacheSettings с параметром MaxItemsInCache, установленным в значение 0. Обратите внимание, что включить кэш канала невозможно, если отключен кэш фабрики каналов.

Применяется к

SendMessageChannelCache(ChannelCacheSettings, ChannelCacheSettings, Boolean)

Инициализирует новый экземпляр класса SendMessageChannelCache параметрами кэша пользовательской фабрики, параметрами кэша пользовательского канала и значением, указывающим, следует ли включать кэширование.

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)

Параметры

factorySettings
ChannelCacheSettings

Настройки кэша для кэшированных фабрик каналов.

channelSettings
ChannelCacheSettings

Настройки кэша для кэшированных каналов.

allowUnsafeCaching
Boolean

Значение true, чтобы включить кэширование; в противном случае — значение false.

Комментарии

По умолчанию кэш доступен только для Send действий, которые не используют конечные точки, определенные в конфигурации. Однако если вы хотите включить кэширование в этом случае, вызовите этот конструктор с заданным параметром allowUnsafeCaching true. Далее добавьте новый экземпляр этого класса как расширение для узла службы рабочего процесса или экземпляра рабочего процесса.

Дополнительные сведения о фабриках каналов см. в описаниях классов ChannelFactory и ChannelFactory<TChannel>.

Применяется к