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.50 中的 Deprecated Types。

当工作流运行时发生某些条件时,工作流运行时引擎将保留有关工作流实例的状态信息。 例如,当原子事务完成、工作流实例处于空闲状态、主机调用 WorkflowInstance.Unload 工作流实例或工作流实例终止或完成时,可能会发生持久性。 当工作流运行时引擎语义指示应发生持久性时,工作流运行时引擎会调用持久性服务提供的方法以保存有关工作流实例的状态信息。 同样,当工作流运行时引擎需要还原以前保存的工作流实例时,它会调用持久性服务提供的方法来加载此状态信息。 工作流运行时引擎处理有关何时执行持久性的所有语义。 持久性服务处理实际保存和加载到或从数据存储加载工作流状态信息。

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

工作流运行时引擎具有用于锁定工作流状态信息的语义,用于在不同进程中运行的持久性服务可能有权访问单个数据存储的环境。 该 WorkflowPersistenceService 类提供支持工作流运行时引擎此功能的功能,方法是提供一个参数来 SaveWorkflowInstanceState 指定工作流实例的状态信息是否应在数据存储中解锁,并提供一种方法 UnlockWorkflowInstanceState 来解锁以前锁定的工作流状态信息。 在实现锁定的持久性服务中,调用 LoadWorkflowInstanceState 应锁定工作流实例的状态信息。

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

为使用持久存储保存工作流状态信息的服务提供了批处理机制。 在这些情况下,请务必在持久性服务使用的持久存储与工作流运行时引擎的内部状态之间保持一致性。 可以将接口定义的IPendingWork功能添加到服务,然后通过向服务添加对数据存储所做的更改作为工作项WorkflowCommitWorkBatchServiceWorkBatch参与工作流事务批处理。 持久存储本身应实现 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()
已过时.

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

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

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

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

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

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

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

UnlockWorkflowInstanceState(Activity)
已过时.

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

适用于