Delen via


Exemplaararchieven

Een exemplaararchief is een logische container met exemplaren. Dit is de plaats waar de instantiegegevens en metagegevens worden opgeslagen. Een exemplaararchief impliceert geen toegewezen fysieke opslag. Een exemplaararchief kan duurzame informatie bevatten in een SQL Server-database of niet-duurzame statusinformatie in een geheugen. .NET Framework 4.6.1 wordt geleverd met de SQL Workflow Instance Store. Dit is een concrete implementatie van een exemplaararchief waarmee werkstromen exemplaargegevens en metagegevens kunnen opslaan in een SQL Server 2005- of SQL Server 2008-database. Daarnaast biedt Windows Server App Fabric ook een concrete implementatie van een exemplaararchief. Zie Windows Server App Fabric Instance Store, Query en Control Providers voor meer informatie.

De persistentie-API is de interface tussen een host en een exemplaararchief waarmee de host opdrachtaanvragen (bijvoorbeeld LoadWorkflowCommand en SaveWorkflowCommand) naar het exemplaararchief kan verzenden. De concrete implementatie van deze API wordt een persistentieprovider genoemd. De persistentieprovider ontvangt aanvragen van een host en wijzigt het exemplaararchief.

Hosts en exemplaararchieven zijn pluggable, zodat een host kan worden gebruikt met veel exemplaararchieven en een exemplaararchief kan worden gebruikt met veel hosts. Een exemplaararchief is doorgaans geoptimaliseerd voor de gebruikspatronen van een bepaalde host, hoewel het exemplaararchief en de host zich kunnen ontwikkelen op onafhankelijke levenscycluss. De WorkflowServiceHost en de SqlWorkflowInstanceStore zijn bijvoorbeeld ontworpen om goed samen te werken. U kunt uw eigen exemplaararchief maken om gegevens en metagegevens van werkstroomservice-exemplaren te behouden en dat exemplaararchief te gebruiken met de WorkflowServiceHost. U kunt bijvoorbeeld een OracleWorkflowInstanceStore maken waarmee werkstromen gegevens kunnen opslaan in een Oracle-database in plaats van ze op te slaan in een SQL Server-database.

Het is gebruikelijk dat hosts worden uitgebreid met extra functionaliteit waarmee de persistente objecten worden gewijzigd. Een exemplaarpersistentiesysteem kan bijvoorbeeld een werkstroomhost hebben, een extensie die ondersteuning biedt voor de bewerking 'Onderbreken' en een SQL-exemplaararchief. De werkstroomhost kan een standaardopdracht verzenden, zoals Opslaan of Laden om een werkstroom op te slaan of te laden vanuit een exemplaararchief of om een werkstroom op te slaan in een exemplaararchief. De onderbrekingsextensie kan extra semantiek toevoegen aan de opdrachten voor het opslaan en laden van werkstroomexemplaren, zodat een onderbroken werkstroomexemplaren niet kunnen worden geladen. De persistentieprovider voor het SQL-exemplaararchief begrijpt de opdrachten voor het opslaan en laden van werkstroomexemplaren en implementeert de opdrachten door de juiste opgeslagen procedures aan te roepen die de tabellen van permanente objecten in een SQL Server-database wijzigen.

Een host fungeert als een eigenaar van een exemplaar in een exemplaararchief. Een host kan fungeren als meer dan één exemplaareigenaar met meer dan één exemplaararchief tegelijk. De host biedt GUID's voor exemplaarsleutels die zijn gekoppeld aan de exemplaren. Een exemplaarsleutel is een unieke alias die een exemplaar identificeert. Het persistentiesysteem maakt, werkt en verwijdert gegevens van de eigenaar van het exemplaar terwijl deze opdrachten uitvoert die door hosts worden aangevraagd.

De volgende lijst bevat de belangrijke stappen die betrokken zijn bij de interactie van de host met het exemplaararchief:

  1. Haal een InstanceStore op bij een persistentieprovider.

  2. Haal de ingang naar een exemplaar op door de CreateInstanceHandle methode op de InstanceStore aan te roepen.

  3. Roep opdrachten aan voor de instantiehandgreep door de Execute methode in de InstanceStore aan te roepen.

  4. Bekijk de InstanceView geretourneerde door InstanceStore.Execute om de resultaten van de opdrachten te bepalen.