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
衍生
屬性

備註

Note

此數據會討論已過時的類型和命名空間。 欲了解更多資訊,請參閱 Windows Workflow Foundation 4.5 中的 Deprecated Types。

當工作流程運行時發生某些狀況時,工作流程執行引擎會持續保存該工作流程實例的狀態資訊。 持久性可能發生,例如當原子交易結束、工作流實例變閒時、主機呼叫 WorkflowInstance.Unload 該實例,或當工作流實例終止或結束時。 當工作流程執行時引擎的語意要求必須進行持久化時,工作流程執行時引擎會呼叫由持久化服務提供的方法來儲存工作流程實例的狀態資訊。 同樣地,當工作流程執行引擎需要還原先前持久化的工作流程實例時,會呼叫持久化服務提供的方法來載入這些狀態資訊。 工作流程執行引擎負責處理何時執行持久化的所有語意。 持久性服務負責實際儲存並載入工作流程狀態資訊到資料庫或從資料庫讀取。

你可以透過從 WorkflowPersistenceService 類別衍生出類別來建立持久化服務。 你可以透過呼叫 AddService 或在應用程式設定檔中適當輸入,將你的持久化服務加入工作流程執行引擎。 它 WorkflowRuntime 應該只包含一個持久化服務。 Windows Workflow Foundation 提供了 SqlWorkflowPersistenceService 類別,這是一個開箱即用的持久化服務,你可以直接使用或擴充使用。

工作流程執行引擎具備鎖定工作流程狀態資訊的語意,適用於不同程序中執行的持久化服務可能存取單一資料庫的環境。 該 WorkflowPersistenceService 類別提供支援工作流程執行引擎此功能的能力,透過提供一個參數 SaveWorkflowInstanceState ,指定是否應在資料儲存中解鎖工作流程實例的狀態資訊,並提供 UnlockWorkflowInstanceState 一種方法來解鎖先前鎖定的工作流程狀態資訊。 在實作鎖定的持久化服務中,呼叫 應該 LoadWorkflowInstanceState 會鎖定工作流程實例的狀態資訊。

如果你的持久化服務沒有把狀態資訊儲存到資料儲存庫,或是從資料儲存庫載入狀態資訊,應該會拋出 a PersistenceException 。 工作流程執行引擎預期會有這種行為。

對於使用持久儲存以儲存工作流程狀態資訊的服務,提供了批次處理機制。 在這些情況下,維持持久性儲存(持久性儲存)與工作流程執行引擎內部狀態之間的一致性非常重要。 你可以將介面定義的功能IPendingWork加入服務,然後透過將變更加入資料儲存,作為工作項目來WorkflowCommitWorkBatchService參與工作流程交易批次處理WorkBatch。 耐用儲存本身應實作介面 IEnlistmentNotification ,確保在交易回滾時工作流程資訊不會被錯誤地持續保存。 如需詳細資訊,請參閱 SaveCompletedContextActivitySaveWorkflowInstanceState

建構函式

名稱 Description
WorkflowPersistenceService()
已淘汰.

當在衍生類別中實作時,會初始化該 WorkflowPersistenceService 類別的新實例。

屬性

名稱 Description
Runtime
已淘汰.

為了這項服務,他得到了。WorkflowRuntime

(繼承來源 WorkflowRuntimeService)
State
已淘汰.

取得 的狀態 WorkflowRuntimeService

(繼承來源 WorkflowRuntimeService)

方法

名稱 Description
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)
已淘汰.

當在衍生類別中覆寫時,會解鎖工作流程實例狀態。

適用於