WorkflowPersistenceService 类
定义
重要
一些信息与预发行产品相关,相应产品在发行之前可能会进行重大修改。 对于此处提供的信息,Microsoft 不作任何明示或暗示的担保。
注意
The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*
从中派生所有持久性服务的抽象基类。
public ref class WorkflowPersistenceService abstract : System::Workflow::Runtime::Hosting::WorkflowRuntimeService
public abstract class WorkflowPersistenceService : System.Workflow.Runtime.Hosting.WorkflowRuntimeService
[System.Obsolete("The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*")]
public abstract class WorkflowPersistenceService : System.Workflow.Runtime.Hosting.WorkflowRuntimeService
type WorkflowPersistenceService = class
inherit WorkflowRuntimeService
[<System.Obsolete("The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*")>]
type WorkflowPersistenceService = class
inherit WorkflowRuntimeService
Public MustInherit Class WorkflowPersistenceService
Inherits WorkflowRuntimeService
- 继承
- 派生
- 属性
注解
注释
此材料讨论已过时的类型和命名空间。 有关详细信息,请参阅 Windows Workflow Foundation 4.50 中的
当工作流运行时发生某些条件时,工作流运行时引擎将保留有关工作流实例的状态信息。 例如,当原子事务完成、工作流实例处于空闲状态、主机调用 WorkflowInstance.Unload 工作流实例或工作流实例终止或完成时,可能会发生持久性。 当工作流运行时引擎语义指示应发生持久性时,工作流运行时引擎会调用持久性服务提供的方法以保存有关工作流实例的状态信息。 同样,当工作流运行时引擎需要还原以前保存的工作流实例时,它会调用持久性服务提供的方法来加载此状态信息。 工作流运行时引擎处理有关何时执行持久性的所有语义。 持久性服务处理实际保存和加载到或从数据存储加载工作流状态信息。
可以通过从 WorkflowPersistenceService 类派生类来创建持久性服务。 可以通过调用 AddService 或通过在应用程序配置文件中输入适当的条目,将持久性服务添加到工作流运行时引擎。 WorkflowRuntime应仅包含一个持久性服务。 Windows Workflow Foundation 提供了 SqlWorkflowPersistenceService 类,这是一项现成的持久性服务,可以按原样使用或扩展。
工作流运行时引擎具有用于锁定工作流状态信息的语义,用于在不同进程中运行的持久性服务可能有权访问单个数据存储的环境。 该 WorkflowPersistenceService 类提供支持工作流运行时引擎此功能的功能,方法是提供一个参数来 SaveWorkflowInstanceState 指定工作流实例的状态信息是否应在数据存储中解锁,并提供一种方法 UnlockWorkflowInstanceState 来解锁以前锁定的工作流状态信息。 在实现锁定的持久性服务中,调用 LoadWorkflowInstanceState 应锁定工作流实例的状态信息。
如果持久性服务未能将状态信息保存到其数据存储或从数据存储加载状态信息,则持久性服务应引发 PersistenceException 该服务。 工作流运行时引擎需要此行为。
为使用持久存储保存工作流状态信息的服务提供了批处理机制。 在这些情况下,请务必在持久性服务使用的持久存储与工作流运行时引擎的内部状态之间保持一致性。 可以将接口定义的IPendingWork功能添加到服务,然后通过向服务添加对数据存储所做的更改作为工作项WorkflowCommitWorkBatchService来WorkBatch参与工作流事务批处理。 持久存储本身应实现 IEnlistmentNotification 接口,以便在事务回滚时工作流信息不会正确保存。 有关详细信息,请参阅 SaveCompletedContextActivity 或 SaveWorkflowInstanceState。
构造函数
| 名称 | 说明 |
|---|---|
| WorkflowPersistenceService() |
已过时.
在派生类中实现时,初始化类的新实例 WorkflowPersistenceService 。 |
属性
| 名称 | 说明 |
|---|---|
| Runtime |
已过时.
获取 WorkflowRuntime 此服务。 (继承自 WorkflowRuntimeService) |
| State |
已过时.
获取 . 的状态 WorkflowRuntimeService。 (继承自 WorkflowRuntimeService) |