共用方式為


工作流程持續性

工作流程持續性是工作流程實例狀態的持久擷取,與進程或計算機信息無關。 這樣做是為了在系統失敗時為工作流程實例提供已知的恢復點,或藉由卸除未主動執行工作的工作流程實例,或將工作流程實例的狀態從一個節點移至伺服器數位中的另一個節點來保留記憶體。

持久性使得流程具備靈活性、可擴展性、在面臨失敗時的復原能力,以及更有效率地管理記憶體的能力。 持續性程式包括識別持續性點、要儲存之數據的收集,最後是將數據的實際儲存委派給持續性提供者。

若要啟用工作流程的持續性,您必須將實例存放區與 WorkflowApplicationWorkflowServiceHost 產生關聯,如 如何:啟用工作流程和工作流程服務的持續性中所述。 WorkflowApplicationWorkflowServiceHost 會使用與其相關聯的實例存放區,根據儲存在持續性存放區中的工作流程實例數據,將工作流程實例保存到持續性存放區,並將工作流程實例載入記憶體。

.NET Framework 4.6.1 隨附於 SqlWorkflowInstanceStore 類別,可讓您將工作流程實例的相關數據和元數據持續性放入 SQL Server 2005 或 SQL Server 2008 資料庫。 如需詳細資訊,請參閱 SQL 工作流程實例存放區

若要儲存和載入應用程式特定數據以及工作流程實例相關資訊,您可以建立擴展 PersistenceParticipant 類別的持久性參與者。 持續性參與者參與持續性程式,將自定義可串行化數據儲存至持續性存放區、將數據從實例存放區載入記憶體,以及在持續易下執行任何其他邏輯。 如需詳細資訊,請參閱 Persistence Participants

Windows Server App Fabric 可簡化資料持續性的配置過程。 如需詳細資訊,請參閱 使用 Windows Server App Fabric 的持續性概念

隱含持續性點

下列清單包含當實例存放區與工作流程相關聯時,工作流程會保存的條件範例。

  • 當 TransactionScope 活動完成或 TransactedReceiveScope 活動完成時。

  • 當工作流程實例閑置且 WorkflowIdleBehavior 在工作流程主機上設定時。 例如,當您使用傳訊活動或 延遲 活動時,就會發生這種情況。

  • 當 WorkflowApplication 閑置且應用程式的 PersistableIdle 屬性設定為 PersistableIdleAction.Persist 時。

  • 當指示主應用程式保存或卸除工作流程實例時。

  • 工作流程實例終止或完成時。

  • Persist 活動被執行時。

  • 當使用舊版 Windows Workflow Foundation 開發的工作流程實例在互通運行過程中遇到持久點時。

本節中