SendMessageChannelCache 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
表示一个扩展,可以实现缓存共享级别的自定义、通道工厂缓存的设置,以及使用 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 承载的客户端工作流,缓存仅对该工作流实例可用(实例级缓存)。 对于已在配置中定义了终结点的工作流中的所有 Send 活动,默认情况下为禁用缓存。
若要详细了解如何更改默认的缓存共享级别以及通道工厂和通道缓存的缓存设置,请参阅更改发送活动的缓存共享级别。
构造函数
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) |