WorkflowPersistenceService 类

定义

注意

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
继承
WorkflowPersistenceService
派生
属性

注解

注意

本材料讨论的类型和命名空间已废弃不用。 有关详细信息,请参阅 Windows Workflow Foundation 4.5 中弃用的类型

在工作流运行过程中发生特定情况时,工作流运行时引擎将保留有关工作流实例的状态信息。 例如,在原子事务完成时、工作流实例进入空闲状态时、主机对工作流实例调用 WorkflowInstance.Unload 时或工作流实例终止或完成时,会执行保留操作。 当工作流运行时引擎语义指示应执行保留操作时,工作流运行时引擎将调用由持久性服务提供的方法,保存有关工作流实例的状态信息。 同样,当工作流运行时引擎需要还原以前保留的工作流实例时,会调用由持久性服务提供的方法来加载此状态信息。 工作流运行时引擎处理所有关于何时执行保留操作的语义。 持久性服务处理将工作流状态信息实际保存到数据存储区中以及从数据存储区中实际加载该信息的操作。

可以通过从 WorkflowPersistenceService 类派生一个类来创建持久性服务。 通过调用 AddService 或在应用程序配置文件中添加合适的项,可以将持久性服务添加到工作流运行时引擎。 WorkflowRuntime 应只包含一个持久性服务。 Windows Workflow Foundation 提供了 SqlWorkflowPersistenceService 类,这是一种全新的持久性服务,可以按原样使用或对其进行扩展。

工作流运行时引擎具有锁定工作流状态信息的语义,当其他进程上运行的持久性服务有权访问单个数据存储区时,可以使用该语义。 通过为 WorkflowPersistenceService 提供指定是否应在数据存储区中解锁工作流实例状态信息的参数,并提供将先前锁定的工作流状态信息解锁的方法 SaveWorkflowInstanceStateUnlockWorkflowInstanceState 类提供了支持此工作流运行时引擎功能的能力。 在实现锁定的持久性服务中,对 LoadWorkflowInstanceState 的调用将锁定工作流实例的状态信息。

如果持久性服务无法将状态信息保存到其数据存储区,或者无法从其数据存储区加载状态信息,则应引发 PersistenceException。 工作流运行时引擎需要此行为。

为使用持久性存储区来保存工作流状态信息的服务提供了批处理机制。 在这种情况下,在持久性服务使用的持久性存储区与工作流运行时引擎内部状态之间保持一致十分重要。 可以将 IPendingWork 接口定义的功能添加到服务中,然后通过将对数据存储区的更改作为工作项添加到 WorkflowCommitWorkBatchService 中,来参与 WorkBatch 提供的工作流事务批处理。 持久存储区自身应实现 IEnlistmentNotification 接口,以便在事务回滚时正确保留工作流信息。 有关详细信息,请参阅SaveCompletedContextActivitySaveWorkflowInstanceState

构造函数

WorkflowPersistenceService()
已过时.

在派生类中实现时,初始化 WorkflowPersistenceService 类的新实例。

属性

Runtime
已过时.

获取此服务的 WorkflowRuntime

(继承自 WorkflowRuntimeService)
State
已过时.

获取 WorkflowRuntimeService 的状态。

(继承自 WorkflowRuntimeService)

方法

Equals(Object)
已过时.

确定指定对象是否等于当前对象。

(继承自 Object)
GetDefaultSerializedForm(Activity)
已过时.

检索 Activity 的序列化的默认窗体。

GetHashCode()
已过时.

作为默认哈希函数。

(继承自 Object)
GetIsBlocked(Activity)
已过时.

指示是否阻止给定的活动。

GetSuspendOrTerminateInfo(Activity)
已过时.

检索给定活动的终止或挂起信息。

GetType()
已过时.

获取当前实例的 Type

(继承自 Object)
GetWorkflowStatus(Activity)
已过时.

检索工作流的状态。

LoadCompletedContextActivity(Guid, Activity)
已过时.

在派生类中实现时,将指定的已完成作用域加载回内存。

LoadWorkflowInstanceState(Guid)
已过时.

在派生类中实现时,将工作流实例的指定状态加载回内存。

MemberwiseClone()
已过时.

创建当前 Object 的浅表副本。

(继承自 Object)
OnStarted()
已过时.

在派生类中重写时,表示将在工作流运行时引擎引发 Started 事件时调用的方法。

(继承自 WorkflowRuntimeService)
OnStopped()
已过时.

在派生类中重写时,表示将在工作流运行时引擎引发 Stopped 事件时调用的方法。

(继承自 WorkflowRuntimeService)
RaiseServicesExceptionNotHandledEvent(Exception, Guid)
已过时.

引发 ServicesExceptionNotHandled 事件。

(继承自 WorkflowRuntimeService)
RestoreFromDefaultSerializedForm(Byte[], Activity)
已过时.

从其序列化的窗体中还原 Activity

SaveCompletedContextActivity(Activity)
已过时.

在派生类中实现时,将指定的已完成作用域保存到数据存储区。

SaveWorkflowInstanceState(Activity, Boolean)
已过时.

在派生类中实现时,将工作流实例状态保存到数据存储区。

Start()
已过时.

在派生类中重写时,启动服务并将 State 更改为 Starting

(继承自 WorkflowRuntimeService)
Stop()
已过时.

在派生类中重写时,停止服务并将 State 更改为 Stopping

(继承自 WorkflowRuntimeService)
ToString()
已过时.

返回表示当前对象的字符串。

(继承自 Object)
UnloadOnIdle(Activity)
已过时.

确定在工作流空闲时是否将其卸载。

UnlockWorkflowInstanceState(Activity)
已过时.

在派生类中重写时,解除对工作流实例状态的锁定。

适用于