【深入浅出WF】——持久化的过程

原文:http://msdn.microsoft.com/en-us/library/ee473462%28VS.100%29.aspx
实例存储
一个实例存储是一个实例的逻辑容器。它存储了实例数据和元数据。一个实例存储包含存储在SQL Server中持久化信息,或者内存中非持久的状态信息。.NET4中发布的工作流实例存储,它是一个实例存储的具体工具,每个实例存储允许工作流持久化实例数据和元数据到SQL 2005或SQL 2008中。
 持久化API用于一个host和一个实例存储的几口,它允许host发送命令(比如LoadWorkflowCommand和SaveWorkflowCommand)请求给实例存储。实例存储的具体工具叫持久化提供者( persistence provider),这个提供者从host接收命令并修改实例存储。
 Hosts和实例存储可以多对多的使用。尽管他们在各自独立的生命周期中演化,某个host的使用方式来优化一个实例存储。比如:WorkflowServiceHost 和SqlWorkflowInstanceStore 被设计为一个工作。你也可以针对workflow service instances的持久化数据和元数据创建你自己的实例存储,让这个实例存储和WorkflowServiceHost.一起使用。比如你可以创建OracleWorkflowInstanceStore来存储工作流持久化信息来,而不把这些信息存储进SQL Server。
 通常host被用来扩展额外的功能用于uxiugai持久化对象。比如一个实例持久化系统由工作流host,一个支持“Suspend”的扩展,和一个SQL实例存储。工作流host可能发送标标准的命令,比如 save和load命令,用于保存和加载来自持久化提供者的工作流。用于SQL 实例存储的提供者接收到保存和加载工作流实例的命令,执行命令,通过调用合适的存储过程来更新持久化对象的表数据。
 在实例存储中host扮演了实例拥有者的角色。一个host同时可能扮演一个或多个实例的拥有者角色。Host提供了用于每个实例的GUID,它存储在实例存储中。Host也可以提供跟其他实例关联的实例(配对)键值的GUID。一个实例键用做标志实例的别名,是不唯一的。持久化系统可以通过执行host请求命令来创建、更新和删除实例拥有者信息

转载于:https://www.cnblogs.com/mingle/archive/2009/12/23/wf-persistence-instancestore.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值