Munkafolyamat-adatmegőrzés

A munkafolyamat-adatmegőrzés a munkafolyamat-példány állapotának tartós rögzítése folyamat- vagy számítógépadatoktól függetlenül. Ez úgy történik, hogy jól ismert helyreállítási pontot biztosít a munkafolyamat-példány számára rendszerhiba esetén, vagy megőrzi a memóriát a nem aktívan dolgozó munkafolyamat-példányok leállításával, vagy áthelyezi a munkafolyamat-példány állapotát egy kiszolgálófarm egyik csomópontjáról egy másik csomópontra.

A megőrzés lehetővé teszi a folyamat rugalmasságát, méretezhetőségét, meghibásodás esetén a helyreállítást és a memória hatékonyabb kezelését. Az adatmegőrzési folyamat magában foglalja egy adatmegőrzési pont azonosítását, a menteni kívánt adatok gyűjtését, végül az adatok tényleges tárolásának delegálását egy adatmegőrzési szolgáltatóhoz.

A munkafolyamatok megőrzésének engedélyezéséhez társítania kell egy példánytárolót a WorkflowApplication vagy a WorkflowServiceHost szolgáltatással, ahogyan az a Munkafolyamatok és Munkafolyamat-szolgáltatások esetében az Adatmegőrzés engedélyezése című cikkben is szerepel. A WorkflowApplication és a WorkflowServiceHost a hozzájuk társított példánytár használatával engedélyezi a munkafolyamat-példányok megőrzését egy adatmegőrzési tárolóban, és a munkafolyamat-példányokat a memóriába tölti be a perzisztenciatárban tárolt munkafolyamat-példányadatok alapján.

A .NET Framework 4.6.1 az SqlWorkflowInstanceStore osztályt biztosítja, amely lehetővé teszi a munkafolyamat-példányok adatainak és metaadatainak megőrzését egy SQL Server 2005- vagy SQL Server 2008-adatbázisba. További részletekért tekintse meg az SQL Workflow Instance Store-t .

Az alkalmazásspecifikus adatok és a munkafolyamat-példányokkal kapcsolatos információk tárolásához és betöltéséhez létrehozhat olyan adatmegőrzési résztvevőket, amelyek kibővítik az osztályt PersistenceParticipant . A perzisztencia résztvevője részt vesz az adatmegőrzési folyamatban, hogy egyéni szerializálható adatokat mentsen az adatmegőrzési tárolóba, betöltse az adatokat a példánytárból a memóriába, és végrehajtson minden további logikát egy adatmegőrzési tranzakcióban. További információ: Állandósági résztvevők.

A Windows Server App Fabric leegyszerűsíti az adatmegőrzés konfigurálásának folyamatát. További információ: A Windows Server App Fabric adatmegőrzési fogalmai

Implicit adatmegőrzési pontok

Az alábbi lista példákat tartalmaz azokra a feltételekre, amelyek mellett a munkafolyamatok megmaradnak, ha egy példánytároló egy munkafolyamathoz van társítva.

  • Amikor egy TransactionScope-tevékenység befejeződik, vagy egy TransactedReceiveScope-tevékenység befejeződik.

  • Amikor egy munkafolyamat-példány tétlenné válik, és a WorkflowIdleBehavior be van állítva a munkafolyamat-gazdagépen. Ez például üzenetkezelési tevékenységek vagy késleltetési tevékenységek használatakor fordul elő.

  • Amikor egy WorkflowApplication tétlenné válik, és az alkalmazás PersistableIdle tulajdonsága a PersistableIdleAction.Persist értékre van állítva.

  • Amikor egy gazdaalkalmazást arra utasítanak, hogy őrizze meg vagy távolítsa el a munkafolyamat-példányokat.

  • Amikor egy munkafolyamat-példány leáll vagy befejeződik.

  • Perzisztálás tevékenységének végrehajtásakor.

  • Ha a Windows Workflow Foundation egy korábbi verziójával kifejlesztett munkafolyamat egy példánya egy adatmegőrzési ponttal találkozik az interoperábilis végrehajtás során.

Ebben a részben