PersistenceIOParticipant 类

定义

PersistenceParticipant 类的派生类,其中的方法除通过持久性进程保留和加载工作流实例外,还执行输入和输出操作。

public ref class PersistenceIOParticipant abstract : System::Activities::Persistence::PersistenceParticipant
public abstract class PersistenceIOParticipant : System.Activities.Persistence.PersistenceParticipant
type PersistenceIOParticipant = class
    inherit PersistenceParticipant
Public MustInherit Class PersistenceIOParticipant
Inherits PersistenceParticipant
继承
PersistenceIOParticipant

注解

宿主在保留实例时执行以下步骤(或阶段):

  1. 收集要保留的值。

  2. 将整体结构化类的字段映射到单独的值。

  3. 向持久性提供程序发出 SaveWorkflowCommand

  4. 在持久性事务下执行 I/O。

宿主将完成一个阶段,之后再开始下一个阶段。 例如,在保留时,宿主将从所有持久性参与者处收集值,之后再转移到第二个阶段。 在第二个阶段中,宿主会将第一个阶段中收集的所有值提供给第二个阶段中的所有持久性参与者进行映射。 在第三个阶段中,宿主会在调用 SaveWorkflowCommand 时将第一个和第二个阶段中收集的所有值提供给持久性提供程序。 然后,在第四个阶段中,宿主会在持久性事务下将所有收集的值提供给所有持久性 IO 参与者。

宿主在加载持久性实例时将执行以下阶段:

  1. 向持久性提供程序发出 LoadWorkflowCommandLoadWorkflowByInstanceKeyCommand

  2. 在持久性事务下执行 I/O。

  3. 发布加载的值。

在最高级别,派生自 PersistenceParticipant 类的工作流实例扩展可以参与保留过程的第一个阶段(收集)和第二个阶段(映射),以及加载过程的第三个阶段(发布)。 派生自 PersistenceIOParticipant 类的工作流实例扩展另外还可以参与保留过程的第四个阶段以及加载过程的第二个阶段 (I/O)。

构造函数

PersistenceIOParticipant(Boolean, Boolean)

初始化 PersistenceIOParticipant 类的实例。

方法

Abort()

中止挂起的 IO(加载或保存)操作。

BeginOnLoad(IDictionary<XName,Object>, TimeSpan, AsyncCallback, Object)

开始一个异步操作,以便连同正在从实例存储中加载的实例一起加载附加状态。

BeginOnSave(IDictionary<XName,Object>, IDictionary<XName,Object>, TimeSpan, AsyncCallback, Object)

开始一个异步操作,以便连同正在保留到实例存储中的实例一起保存附加状态。

CollectValues(IDictionary<XName,Object>, IDictionary<XName,Object>)

宿主对自定义持久性参与者调用此方法,以收集要保留的读/写值和只写值。

(继承自 PersistenceParticipant)
EndOnLoad(IAsyncResult)

完成异步加载操作。

EndOnSave(IAsyncResult)

完成异步保存操作。

Equals(Object)

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

(继承自 Object)
GetHashCode()

作为默认哈希函数。

(继承自 Object)
GetType()

获取当前实例的 Type

(继承自 Object)
MapValues(IDictionary<XName,Object>, IDictionary<XName,Object>)

当宿主完成在第一个阶段中收集值的工作后,将调用此方法。 宿主会将由其在第一个阶段(CollectValues 阶段)中从所有持久性参与者中收集的值组成的两个只读字典转发给此方法用于映射。 主机会将此方法的返回的字典中的值添加到只写值的集合。

(继承自 PersistenceParticipant)
MemberwiseClone()

创建当前 Object 的浅表副本。

(继承自 Object)
PublishValues(IDictionary<XName,Object>)

主机调用此方法,并传递 InstanceData 集合中所有加载的值(由 LoadWorkflowCommandLoadWorkflowByInstanceKeyCommand 填充)作为字典参数。

(继承自 PersistenceParticipant)
ToString()

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

(继承自 Object)

适用于