PersistenceIOParticipant 類別

定義

包含 PersistenceParticipant 類別的衍生 vclass,除了透過持續性處理序保存及載入工作流程執行個體外,其方法還會執行輸入和輸出作業。

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)

適用於