Delen via


Persistentie van werkstroom

Werkstroompersistentie is de duurzame opname van de status van een werkstroomexemplaren, onafhankelijk van proces- of computergegevens. Dit wordt gedaan om een bekend herstelpunt te bieden voor het werkstroomexemplaren in het geval van een systeemfout of om geheugen te behouden door werkstroomexemplaren te verwijderen die niet actief werken, of om de status van het werkstroomexemplaren van het ene knooppunt naar het andere knooppunt in een serverfarm te verplaatsen.

Persistentie maakt procesflexibiliteit, schaalbaarheid, herstel mogelijk ten aanzien van fouten en de mogelijkheid om het geheugen efficiënter te beheren. Het persistentieproces omvat de identificatie van een persistentiepunt, het verzamelen van de gegevens die moeten worden opgeslagen en ten slotte de overdracht van de werkelijke opslag van de gegevens aan een persistentieprovider.

Als u persistentie voor een werkstroom wilt inschakelen, moet u een exemplaararchief koppelen aan de WorkflowApplication of WorkflowServiceHost, zoals vermeld in Procedure: Persistentie inschakelen voor werkstromen en werkstroomservices. WorkflowApplication en WorkflowServiceHost gebruiken het exemplaararchief dat eraan is gekoppeld om persistente werkstroomexemplaren in te schakelen in een persistentiearchief en werkstroomexemplaren in het geheugen te laden op basis van de gegevens van het werkstroomexemplaar die zijn opgeslagen in het persistentiearchief.

Het .NET Framework 4.6.1 wordt geleverd met de klasse SqlWorkflowInstanceStore , waarmee gegevens en metagegevens over werkstroomexemplaren kunnen worden bewaard in een SQL Server 2005- of SQL Server 2008-database. Zie sql Workflow Instance Store voor meer informatie.

Als u uw toepassingsspecifieke gegevens wilt opslaan en laden, samen met de informatie over het werkstroomexemplaren, kunt u persistentiedeelnemers maken die de PersistenceParticipant klasse uitbreiden. Een persistentiedeelnemer neemt deel aan het persistentieproces om aangepaste serialiseerbare gegevens op te slaan in het persistentiearchief, om de gegevens uit het exemplaararchief in het geheugen te laden en eventuele extra logica uit te voeren onder een persistentietransactie. Zie Persistentiedeelnemers voor meer informatie.

Windows Server App Fabric vereenvoudigt het configureren van persistentie. Zie Persistentieconcepten met Windows Server App Fabric voor meer informatie

Impliciete persistentiepunten

De volgende lijst bevat voorbeelden van de voorwaarden waarop een werkstroom wordt bewaard wanneer een exemplaararchief is gekoppeld aan een werkstroom.

  • Wanneer een TransactionScope-activiteit is voltooid of een TransactedReceiveScope-activiteit is voltooid.

  • Wanneer een werkstroomexemplaren inactief wordt en de WorkflowIdleBehavior is ingesteld op de werkstroomhost. Dit gebeurt bijvoorbeeld wanneer u berichtenactiviteiten of een vertragingsactiviteit gebruikt.

  • Wanneer een WorkflowApplication inactief wordt en de eigenschap PersistentableIdle van de toepassing is ingesteld op PersistentableIdleAction.Persist.

  • Wanneer een hosttoepassing wordt geïnstrueerd om een werkstroomexemplaren te behouden of te verwijderen.

  • Wanneer een werkstroomexemplaren wordt beëindigd of voltooid.

  • Wanneer een persistente activiteit wordt uitgevoerd.

  • Wanneer een exemplaar van een werkstroom die is ontwikkeld met een eerdere versie van Windows Workflow Foundation, een persistentiepunt tegenkomt tijdens de interoperabele uitvoering.

In dit gedeelte