WorkflowpersistenzWorkflow Persistence

Workflowpersistenz bezeichnet die dauerhafte Erfassung des Zustands einer Workflowinstanz unabhängig von Prozess- oder Computerinformationen.Workflow persistence is the durable capture of a workflow instance's state, independent of process or computer information. Sie wird durchgeführt, um einen bekannten Wiederherstellungspunkt für die Workflowinstanz im Fall eines Systemfehlers bereitzustellen oder um Arbeitsspeicher beizubehalten, indem Workflowinstanzen entladen werden, die gerade nicht aktiv sind, bzw. um den Zustand der Workflowinstanz von einem Knoten zu einem anderen Knoten in einer Serverfarm zu verschieben.This is done to provide a well-known point of recovery for the workflow instance in the event of system failure, or to preserve memory by unloading workflow instances that are not actively doing work, or to move the state of the workflow instance from one node to another node in a server farm.

Die Persistenz aktiviert die Flexibilität, Skalierbarkeit und Wiederherstellung von Prozessen bei einem Fehler und bietet die Möglichkeit, den Arbeitsspeicher effizienter zu verwalten.Persistence enables process agility, scalability, recovery in the face of failure, and the ability to manage memory more efficiently. Der Persistenzvorgang umfasst die Identifikation eines Persistenzpunkts, das Sammeln der zu speichernden Daten und schließlich die Delegierung des tatsächlichen Speichers der Daten an einen Persistenzanbieter.The persistence process includes the identification of a persistence point, the gathering of the data to be saved, and finally the delegation of the actual storage of the data to a persistence provider.

Um die Persistenz für einen Workflow zu aktivieren, müssen Sie mit einen Instanzspeicher Zuordnen der WorkflowApplication oder WorkflowServiceHost Siehe wie: Aktivieren der Persistenz für Workflows und Workflowdienste.To enable persistence for a workflow, you need to associate an instance store with the WorkflowApplication or WorkflowServiceHost as mentioned in How to: Enable Persistence for Workflows and Workflow Services. Die WorkflowApplication und WorkflowServiceHost verwenden Sie den Instanzspeicher, die ihnen zugeordneten zum Beibehalten von Workflowinstanzen in einem persistenten Speicher und das Laden von Workflowinstanzen in aktivieren Arbeitsspeicher auf Grundlage der im persistenten Speicher gespeicherten workflowinstanzdaten.The WorkflowApplication and WorkflowServiceHost use the instance store associated with them to enable persisting workflow instances into a persistence store and loading workflow instances into memory based on the workflow instance data stored in the persistence store.

Die .NET Framework 4.6.1.NET Framework 4.6.1 im Lieferumfang der SqlWorkflowInstanceStore -Klasse, die Persistenz von Daten und Metadaten zu Workflowinstanzen in einer SQL Server 2005 oder SQL Server 2008-Datenbank ermöglicht.The .NET Framework 4.6.1.NET Framework 4.6.1 ships with the SqlWorkflowInstanceStore class, which allows persistence of data and metadata about workflow instances into a SQL Server 2005 or SQL Server 2008 database. Finden Sie unter SQL-Workflowinstanzspeicher Weitere Details.See SQL Workflow Instance Store for more details.

Zum Speichern und Laden Ihrer anwendungsspezifischen Daten zusammen mit den Informationen zur Workflowinstanz können Sie Persistenzteilnehmer erstellen, die die PersistenceParticipant-Klasse erweitern.To store and load your application-specific data along with the workflow instance-related information, you can create persistence participants that extend the PersistenceParticipant class. Ein Persistenzteilnehmer nimmt am Persistenzvorgang teil, um benutzerdefinierte serialisierbare Daten in den persistenten Speicher zu speichern, die Daten aus dem Instanzspeicher in den Arbeitsspeicher zu laden und ggf. die zusätzliche Logik einer Persistenztransaktion auszuführen.A persistence participant participates in the persistence process to save custom serializable data into the persistence store, to load the data from the instance store into memory, and to perform any additional logic under a persistence transaction. Weitere Informationen finden Sie unter Persistenzteilnehmer.For more information, see Persistence Participants.

Windows Server AppFabric vereinfacht die Konfiguration von Persistenz.Windows Server App Fabric simplifies the process of configuring persistence. Weitere Informationen finden Sie unter Persistenz Konzepte mit Windows Server AppFabricFor more information, see Persistence Concepts with Windows Server App Fabric

Implizite PersistenzpunkteImplicit Persistence Points

Die folgende Liste enthält Beispiele der Bedingungen, zu denen ein Workflow beibehalten wird, wenn ein Instanzspeicher einem Workflow zugeordnet ist.The following list contains examples of the conditions upon which a workflow is persisted when an instance store is associated with a workflow.

  • Wenn eine TransactionScope Aktivität abgeschlossen wird oder ein TransactedReceiveScope Aktivität abgeschlossen wird.When a TransactionScope activity completes or a TransactedReceiveScope activity completes.

  • Wenn eine Workflowinstanz im Leerlauf ist und die WorkflowIdleBehavior auf den Workflowhost festgelegt ist.When a workflow instance becomes idle and the WorkflowIdleBehavior is set on workflow host. In diesem Fall z. B. Wenn Sie messagingaktivitäten verwenden oder eine Verzögerung Aktivität.This occurs, for example, when you use messaging activities or a Delay activity.

  • Wenn eine Leerlauf und der PersistableIdle der Anwendung ist-Eigenschaftensatz auf PersistableIdleAction.Persist.When a WorkflowApplication becomes idle and the PersistableIdle property of the application is set to PersistableIdleAction.Persist.

  • Wenn eine Hostanwendung angewiesen ist, eine Workflowinstanz beizubehalten oder zu entladen.When a host application is instructed to persist or unload a workflow instance.

  • Wenn eine Workflowinstanz beendet oder fertig gestellt wird.When a workflow instance is terminated or finishes.

  • Wenn eine Persist Aktivität ausgeführt wird.When a Persist activity executes.

  • Wenn eine Instanz eines Workflows, die mit einer früheren Version von Windows Workflow Foundation entwickelt wurde, während einer interoperablen Ausführung auf einen Persistenzpunkt trifft.When an instance of a workflow developed using a previous version of Windows Workflow Foundation encounters a persistence point during interoperable execution.

In diesem AbschnittIn This Section