WorkflowPersistenceService 類別
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
警告
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
- 繼承
- 衍生
- 屬性
備註
Note
此數據會討論已過時的類型和命名空間。 欲了解更多資訊,請參閱 Windows Workflow Foundation 4.5 中的
當工作流程運行時發生某些狀況時,工作流程執行引擎會持續保存該工作流程實例的狀態資訊。 持久性可能發生,例如當原子交易結束、工作流實例變閒時、主機呼叫 WorkflowInstance.Unload 該實例,或當工作流實例終止或結束時。 當工作流程執行時引擎的語意要求必須進行持久化時,工作流程執行時引擎會呼叫由持久化服務提供的方法來儲存工作流程實例的狀態資訊。 同樣地,當工作流程執行引擎需要還原先前持久化的工作流程實例時,會呼叫持久化服務提供的方法來載入這些狀態資訊。 工作流程執行引擎負責處理何時執行持久化的所有語意。 持久性服務負責實際儲存並載入工作流程狀態資訊到資料庫或從資料庫讀取。
你可以透過從 WorkflowPersistenceService 類別衍生出類別來建立持久化服務。 你可以透過呼叫 AddService 或在應用程式設定檔中適當輸入,將你的持久化服務加入工作流程執行引擎。 它 WorkflowRuntime 應該只包含一個持久化服務。 Windows Workflow Foundation 提供了 SqlWorkflowPersistenceService 類別,這是一個開箱即用的持久化服務,你可以直接使用或擴充使用。
工作流程執行引擎具備鎖定工作流程狀態資訊的語意,適用於不同程序中執行的持久化服務可能存取單一資料庫的環境。 該 WorkflowPersistenceService 類別提供支援工作流程執行引擎此功能的能力,透過提供一個參數 SaveWorkflowInstanceState ,指定是否應在資料儲存中解鎖工作流程實例的狀態資訊,並提供 UnlockWorkflowInstanceState 一種方法來解鎖先前鎖定的工作流程狀態資訊。 在實作鎖定的持久化服務中,呼叫 應該 LoadWorkflowInstanceState 會鎖定工作流程實例的狀態資訊。
如果你的持久化服務沒有把狀態資訊儲存到資料儲存庫,或是從資料儲存庫載入狀態資訊,應該會拋出 a PersistenceException 。 工作流程執行引擎預期會有這種行為。
對於使用持久儲存以儲存工作流程狀態資訊的服務,提供了批次處理機制。 在這些情況下,維持持久性儲存(持久性儲存)與工作流程執行引擎內部狀態之間的一致性非常重要。 你可以將介面定義的功能IPendingWork加入服務,然後透過將變更加入資料儲存,作為工作項目來WorkflowCommitWorkBatchService參與工作流程交易批次處理WorkBatch。 耐用儲存本身應實作介面 IEnlistmentNotification ,確保在交易回滾時工作流程資訊不會被錯誤地持續保存。 如需詳細資訊,請參閱 SaveCompletedContextActivity 或 SaveWorkflowInstanceState。
建構函式
| 名稱 | Description |
|---|---|
| WorkflowPersistenceService() |
已淘汰.
當在衍生類別中實作時,會初始化該 WorkflowPersistenceService 類別的新實例。 |
屬性
| 名稱 | Description |
|---|---|
| Runtime |
已淘汰.
為了這項服務,他得到了。WorkflowRuntime (繼承來源 WorkflowRuntimeService) |
| State |
已淘汰.
取得 的狀態 WorkflowRuntimeService。 (繼承來源 WorkflowRuntimeService) |