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 類別透過提供參數至 SaveWorkflowInstanceState 指定是否解除鎖定資料存放區中的工作流程執行個體狀態資訊,並提供解除鎖定先前鎖定之工作流程狀態資訊的 UnlockWorkflowInstanceState 方法,來支援這項工作流程執行階段引擎功能。 在實作鎖定的持續性服務中,呼叫 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)
已淘汰.

在衍生類別中覆寫時,解除鎖定工作流程執行個體狀態。

適用於