Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
Az SQL Workflow Instance Store egy belső feladatot futtat, amely rendszeres időközönként felébred, és észleli a futtatható vagy aktiválható munkafolyamat-példányokat a perzisztencia-adatbázisban. Ha futtatható munkafolyamat-példányt talál, értesíti a munkafolyamat-gazdagépet, amely képes aktiválni a példányt. Ha a példánytár talál egy aktiválható munkafolyamat-példányt, értesít egy általános gazdagépet, amely aktivál egy munkafolyamat-gazdagépet, és ez utóbbi futtatja a munkafolyamat-példányt. A jelen témakör alábbi szakaszai részletesen ismertetik a példányaktiválás folyamatát.
Futtatható munkafolyamat-példányok észlelése és aktiválása
Az SQL Workflow Instance Store futtathatónak tekint egy munkafolyamat-példányt, ha a példány nincs felfüggesztett vagy befejezett állapotban, és megfelel a következő feltételeknek:
A példány fel van oldva, és van egy időzítője, amely lejárt.
A példányon lejárt a zárolás.
A példány feloldva van, és az állapota a Végrehajtás.
Az SQL Munkafolyamat-példánytár kiadja a HasRunnableWorkflowEvent-t, amikor futtatható példányt talál. Ezt követően az SqlWorkflowInstanceStore mindaddig leállítja a figyelést, amíg az TryLoadRunnableWorkflowCommand egyszer nem lesz meghívva az áruházban.
Egy munkafolyamat-gazdagép, amely előfizetett a HasRunnableWorkflowEvent-ra, és képes betölteni a példányt, a TryLoadRunnableWorkflowCommand segítségével a példánytárolón végzi el a műveletet, hogy betöltse a példányt a memóriába. A munkafolyamat-gazdagép akkor tekinthető munkafolyamat-példány betöltésére alkalmasnak, ha a gazdagép és a példány metaadataiban a WorkflowServiceType tulajdonság ugyanarra az értékre van állítva.
Aktiválható munkafolyamat-példányok észlelése és aktiválása
A munkafolyamat-példányok akkor tekinthetők aktiválhatónak , ha a példány futtatható, és nincs olyan munkafolyamat-gazdagép, amely képes betölteni a példányt a számítógépen. A futtatható munkafolyamat-példányok definícióját lásd fent a Futtatható munkafolyamat-példányok észlelése és aktiválása című témakörben.
Az SQL Munkafolyamat-példánytár felveti a HasActivatableWorkflowEvent, amikor aktiválható munkafolyamat-példányt talál az adatbázisban. Ezt követően az SqlWorkflowInstanceStore mindaddig leállítja a figyelést, amíg az QueryActivatableWorkflowsCommand egyszer nem lesz meghívva az áruházban.
Amikor egy általános gazdagép, amely feliratkozott az HasActivatableWorkflowEvent eseményre, megkapja az eseményt, végrehajtja a QueryActivatableWorkflowsCommand-t az példánytároló ellen, hogy megszerezze a munkafolyamat-gazdagép létrehozásához szükséges aktiválási paramétereket. Az általános gazdagép ezeket az aktiválási paramétereket használja egy munkafolyamat-gazdagép létrehozásához, amely ezután betölti és elindítja a futtatható szolgáltatáspéldányt.
Általános hosztok
Az általános gazdagép olyan gazdagép, amelynek a WorkflowServiceType metaadat-tulajdonsága WorkflowServiceType.Any-re van állítva, ezzel jelezve, hogy bármilyen munkafolyamattípust képes kezelni. Az általános gazdagépnek van egy XName paramétere, amelynek neve ActivationType.
Az SQL Workflow Instance Store jelenleg azokat az általános gazdagépeket támogatja, amelyeknél az ActivationType paraméter értéke WAS. Ha az ActivationType értéke nem WAS, az SQL munkafolyamat példánytároló egy InstancePersistenceException hibát dob. A Munkafolyamat-kezelési szolgáltatás, amely a Windows Server AppFabric üzemeltetési funkcióihoz tartozik, egy általános gazdagép, amelynek aktiválási típusa WAS.
WAS aktiválás esetén egy általános gazdagépnek aktiválási paraméterekre van szüksége annak a végpontcímnek a levezetéséhez, ahol az új gazdagépek aktiválhatók. A WAS aktiválás aktiválási paraméterei a hely neve, az alkalmazás elérési útja a helyhez képest, valamint a szolgáltatás elérési útja az alkalmazáshoz képest. Az SQL Workflow Instance Store ezeket az aktiválási SaveWorkflowCommandparamétereket tárolja a végrehajtás során.
Az észlelési időszak futtatható példányok számára
Az SQL Workflow Instance Store Futtatható példányok észlelési időszak tulajdonsága azt az időtartamot határozza meg, amely után az SQL Munkafolyamat-példánytár észlelési feladatot futtat az előző észlelési ciklus után a perzisztencia-adatbázisban található futtatható vagy aktiválható munkafolyamat-példányok észleléséhez. Erről a tulajdonságról további információt a Futtatható példányok észlelési időszaka című témakörben talál.