Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Een exemplaararchief is een logische container met exemplaren. Dit is de plaats waar de instantiegegevens en metagegevens worden opgeslagen. Een instantie-opslag impliceert geen gedeelde 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 inplugbaar, zodat een host kan worden gebruikt met veel exemplaararchieven en een exemplaararchief kan worden gebruikt met veel hosts. Een voorbeeldopslag is doorgaans geoptimaliseerd voor de gebruikspatronen van een bepaalde host, hoewel de voorbeeldopslag en de host onafhankelijk kunnen evolueren in hun levenscycli. 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 werkstroomexemplaar niet kan 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 eigenaar van een exemplaar in een instantie-opslagplaats. Een host kan optreden als meer dan één exemplaareigenaar met meer dan één instance store 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 persistente systeem maakt aan, werkt bij en verwijdert informatie over de eigenaar van de instantie terwijl het opdrachten uitvoert die door hosts worden aangevraagd.
De volgende lijst bevat de belangrijke stappen bij de interactie van de host met de instantiewinkel:
Haal een InstanceStore op bij een persistentieprovider.
Haal de verwijzing naar een exemplaar op door de CreateInstanceHandle methode op InstanceStore aan te roepen.
Neem commando's uit op de instantiehandle door de Execute methode op de InstanceStore aan te roepen.
Bekijk de door InstanceView geretourneerde om de resultaten van de commando's te bepalen.