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.
A példánytárolók a példányok logikai tárolói. Ez az a hely, ahol a példány adatait és metaadatait tárolják. A példánytárolók nem utalnak dedikált fizikai tárolóra. A példánytárak tartós információkat tartalmazhatnak egy SQL Server-adatbázisban, vagy nem tartós állapotinformációkat a memóriában. A .NET-keretrendszer 4.6.1-ben az SQL Workflow Instance Store található, amely egy példánytár konkrét implementációja, amely lehetővé teszi a munkafolyamatoknak a példányadatok és metaadatok SQL Server 2005- vagy SQL Server 2008-adatbázisban való megőrzését. Emellett a Windows Server App Fabric egy példánytároló konkrét megvalósítását is biztosítja. További információ: Windows Server App Fabric Instance Store, Query és Control Providers.
A persistence API a gazdagép és a példánytároló közötti interfész, amely lehetővé teszi, hogy a gazdagép parancskérelmeket (például LoadWorkflowCommand és SaveWorkflowCommand) küldjön a példánytárolóba. Ennek az API-nak a konkrét implementációját adatmegőrzési szolgáltatónak nevezzük. A adatmegőrzési szolgáltató kéréseket fogad egy gazdagéptől, és módosítja a példánytárolót.
A gazdagépek és a példánytárolók csatlakoztathatók, így egy gazdagép több példánytárolóval is használható, és a példánytárolók pedig számos gazdagéppel használhatók. A példánytároló általában egy adott gazdagép használati mintáihoz van optimalizálva, bár a példánytároló és a gazdagép független életciklusokon alakulhatnak. A WorkflowServiceHost és az SqlWorkflowInstanceStore például úgy van kialakítva, hogy jól működjön együtt. Létrehozhat saját példánytárolót a munkafolyamat-szolgáltatáspéldányok adatainak és metaadatainak megőrzéséhez, és használhatja ezt a példánytárat a WorkflowServiceHost szolgáltatással. Létrehozhat például egy OracleWorkflowInstanceStore-t, amely lehetővé teszi, hogy a munkafolyamatok az sql server-adatbázisba való mentés helyett megőrizze az adatokat egy Oracle-adatbázisban.
Gyakran előfordul, hogy a kiszolgálókat további funkciókkal bővítik, amelyek módosítják a tárolt objektumokat. Egy példánymegőrzési rendszer például rendelkezhet munkafolyamat-gazdagéppel, a "Felfüggesztés" műveletet támogató bővítménysel és egy SQL-példánytárolóval. A munkafolyamat-gazdagép elküldhet egy szabványos parancsot, például a Mentés vagy a Betöltés parancsot a munkafolyamat példánytárból való mentéséhez vagy betöltéséhez, vagy egy munkafolyamat példánytárba való mentéséhez. A felfüggesztési bővítmény további szemantikát adhat a munkafolyamat-példányok mentéséhez és betöltéséhez szükséges parancsokhoz, így a felfüggesztett munkafolyamat-példányok nem tölthetők be. Az SQL-példánytár adatmegőrzési szolgáltatója megérti a munkafolyamat-példányok mentésére és betöltésére szolgáló parancsokat, és végrehajtja a parancsokat a megfelelő tárolt eljárások meghívásával, amelyek módosítják az SQL Server-adatbázisban lévő állandó objektumok tábláit.
A gazdagép példánytulajdonosként működik egy példánytárolón belül. Egy gazdagép több példánytulajdonosként és több példánytárolóval is működhet egyszerre. A gazdagép GUID-ket biztosít a példányokhoz társított példánykulcsokhoz. A példánykulcs egy egyedi alias, amely azonosít egy példányt. Az adatmegőrzési rendszer létrehozza, frissíti és törli a példány tulajdonosának adatait, miközben végrehajtja a gazdagépek által kért parancsokat.
Az alábbi lista a gazdagép és a példánytároló közötti interakció fontos lépéseit tartalmazza:
Egy InstanceStore beszerzése egy perzisztencia szolgáltatótól.
Szerezze meg a mutatót példányhoz a CreateInstanceHandle metódus meghívásával az InstanceStore objektumon keresztül.
Parancsok meghívása a példánykezelőn a Execute metódus meghívásával az InstanceStore-on.
Vizsgálja meg az InstanceViewInstanceStore.Execute által visszaadott parancsokat a parancsok eredményeinek meghatározásához.