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