Arbetsflödespersistence
Arbetsflödespersistence är den varaktiga avbildningen av en arbetsflödesinstans tillstånd, oberoende av process- eller datorinformation. Detta görs för att tillhandahålla en välkänd återställningspunkt för arbetsflödesinstansen i händelse av systemfel, eller för att bevara minnet genom att ta bort arbetsflödesinstanser som inte aktivt arbetar, eller för att flytta tillståndet för arbetsflödesinstansen från en nod till en annan nod i en servergrupp.
Persistens möjliggör processflexibilitet, skalbarhet, återställning vid fel och möjlighet att hantera minne mer effektivt. Beständighetsprocessen omfattar identifiering av en beständighetspunkt, insamling av data som ska sparas och slutligen delegering av den faktiska lagringen av data till en beständig leverantör.
För att aktivera beständighet för ett arbetsflöde måste du associera ett instansarkiv med WorkflowApplication eller WorkflowServiceHost enligt beskrivningen i How to: Enable Persistence for Workflows and Workflow Services (Aktivera beständighet för arbetsflöden och arbetsflödestjänster). WorkflowApplication och WorkflowServiceHost använder det instansarkiv som är associerat med dem för att aktivera bestående arbetsflödesinstanser i ett beständigt lager och läsa in arbetsflödesinstanser i minnet baserat på arbetsflödesinstansdata som lagras i beständighetslagret.
.NET Framework 4.6.1 levereras med klassen SqlWorkflowInstanceStore , som tillåter beständighet av data och metadata om arbetsflödesinstanser i en SQL Server 2005- eller SQL Server 2008-databas. Mer information finns i SQL Workflow Instance Store .
Om du vill lagra och läsa in dina programspecifika data tillsammans med arbetsflödesinstansrelaterad information kan du skapa beständighetsdeltagare som utökar PersistenceParticipant klassen. En beständig deltagare deltar i beständighetsprocessen för att spara anpassade serialiserbara data i beständighetslagret, läsa in data från instanslagret i minnet och utföra ytterligare logik under en beständig transaktion. Mer information finns i Beständighetsdeltagare.
Windows Server App Fabric förenklar processen för att konfigurera beständighet. Mer information finns i Beständighetsbegrepp med Windows Server App Fabric
Implicita beständighetspunkter
Följande lista innehåller exempel på de villkor där ett arbetsflöde sparas när ett instansarkiv är associerat med ett arbetsflöde.
När en TransactionScope-aktivitet slutförs eller en TransactedReceiveScope-aktivitet slutförs.
När en arbetsflödesinstans blir inaktiv och WorkflowIdleBehavior har angetts på arbetsflödesvärden. Detta inträffar till exempel när du använder meddelandeaktiviteter eller en fördröjningsaktivitet .
När en WorkflowApplication blir inaktiv och egenskapen PersistableIdle för programmet är inställd på PersistableIdleAction.Persist.
När ett värdprogram instrueras att spara eller ta bort en arbetsflödesinstans.
När en arbetsflödesinstans avslutas eller är klar.
När en Persist-aktivitet körs.
När en instans av ett arbetsflöde som utvecklats med hjälp av en tidigare version av Windows Workflow Foundation stöter på en beständighetspunkt under driftskompatibel körning.