SendMessageChannelCache Класс
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Представляет расширение, которое позволяет изменить уровни доступа к кэшу, параметры кэша фабрики каналов и кэша канала для рабочих процессов, направляющих сообщения в конечные точки службы с использованием действий отправки сообщений Send.
public ref class SendMessageChannelCache sealed : IDisposable
public sealed class SendMessageChannelCache : IDisposable
type SendMessageChannelCache = class
interface IDisposable
Public NotInheritable Class SendMessageChannelCache
Implements IDisposable
- Наследование
-
SendMessageChannelCache
- Реализации
Примеры
В следующем примере показано, как использовать класс 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);
Комментарии
Этот класс предназначен для рабочих процессов, отправляющих сообщения в конечные точки служб. Эти рабочие процессы обычно являются клиентскими, но также могут быть службами рабочих процессов, размещенными в WorkflowServiceHost.
По умолчанию в рабочем процессе, размещенном в WorkflowServiceHost, кэш, используемый действиями обмена сообщениями Send, совместно используется всеми экземплярами рабочих процессов в WorkflowServiceHost (кэширование уровня узла). Для клиентского рабочего процесса, не размещенного в WorkflowServiceHost, кэш доступен только для экземпляра рабочего процесса (кэширование уровня экземпляра). По умолчанию кэширование отключено для всех действий отправки в рабочем процессе, в конфигурации которого определены конечные точки.
Дополнительные сведения об изменении уровней общего доступа к кэшу по умолчанию и параметров кэша для фабрики каналов и кэша каналов см. в разделе Изменение уровней общего доступа к кэшу для действий отправки.
Конструкторы
SendMessageChannelCache() |
Инициализирует новый экземпляр класса SendMessageChannelCache кэшем фабрики по умолчанию и параметрами кэша канала. |
SendMessageChannelCache(ChannelCacheSettings, ChannelCacheSettings) |
Инициализирует новый экземпляр класса SendMessageChannelCache кэшем пользовательской фабрики и параметрами кэша канала. |
SendMessageChannelCache(ChannelCacheSettings, ChannelCacheSettings, Boolean) |
Инициализирует новый экземпляр класса SendMessageChannelCache параметрами кэша пользовательской фабрики, параметрами кэша пользовательского канала и значением, указывающим, следует ли включать кэширование. |
Свойства
AllowUnsafeCaching |
Возвращает или задает значение, указывающее, требуется ли включить кэширование. |
ChannelSettings |
Возвращает или задает параметры кэша канала. |
FactorySettings |
Возвращает или задает параметры кэша фабрики каналов. |
Методы
Dispose() |
Освобождает все ресурсы, используемые текущим экземпляром класса SendMessageChannelCache. |
Equals(Object) |
Определяет, равен ли указанный объект текущему объекту. (Унаследовано от Object) |
GetHashCode() |
Служит хэш-функцией по умолчанию. (Унаследовано от Object) |
GetType() |
Возвращает объект Type для текущего экземпляра. (Унаследовано от Object) |
MemberwiseClone() |
Создает неполную копию текущего объекта Object. (Унаследовано от Object) |
ToString() |
Возвращает строку, представляющую текущий объект. (Унаследовано от Object) |