Activering van exemplaar
De SQL Workflow Instance Store voert een interne taak uit die periodiek wordt geactiveerd en runnable of activeringsbare werkstroomexemplaren in de persistentiedatabase detecteert. Als er een uitvoerbare werkstroominstantie wordt gevonden, wordt de werkstroomhost op de hoogte gesteld die het exemplaar kan activeren. Als het exemplaararchief een activeringsbaar werkstroomexemplaren vindt, wordt er een algemene host op de hoogte gehouden waarmee een werkstroomhost wordt geactiveerd. Op zijn beurt wordt het werkstroomexemplaren uitgevoerd. In de volgende secties in dit onderwerp wordt het activeringsproces van het exemplaar in detail uitgelegd.
Runnable Workflow Instances detecteren en activeren
De SQL Workflow Instance Store beschouwt een werkstroomexemplaren die kunnen worden uitgevoerd als het exemplaar zich niet in de onderbroken status of de voltooide status bevindt en voldoet aan de volgende voorwaarden:
Het exemplaar is ontgrendeld en heeft een timer in behandeling die is verlopen.
Het exemplaar heeft een verlopen vergrendeling.
Het exemplaar is ontgrendeld en de status wordt uitgevoerd.
Het SQL Workflow Instance Store genereert het HasRunnableWorkflowEvent moment waarop een runnable exemplaar wordt gevonden. Hierna stopt de sqlWorkflowInstanceStore met bewaking totdat de TryLoadRunnableWorkflowCommand aangeroepen eenmaal in de store wordt aangeroepen.
Een werkstroomhost die is geabonneerd op het HasRunnableWorkflowEvent exemplaar en dat het exemplaar kan laden, voert de TryLoadRunnableWorkflowCommand instantie uit op het exemplaararchief om het exemplaar in het geheugen te laden. Een werkstroomhost wordt beschouwd als een werkstroomexemplaren kunnen worden geladen als de host en het exemplaar de eigenschap WorkflowServiceType voor metagegevens heeft ingesteld op dezelfde waarde.
Activeringswerkstroomexemplaren detecteren en activeren
Een werkstroomexemplaren worden als activeren beschouwd als het exemplaar kan worden uitgevoerd en er geen werkstroomhost is die het exemplaar kan laden op de computer. Zie Runnable Workflow Instances hierboven detecteren en activeren voor de definitie van een runnable werkstroomexemplaren.
De SQL Workflow Instance Store genereert het HasActivatableWorkflowEvent moment waarop een activeringsbaar werkstroomexemplaren in de database worden gevonden. Hierna stopt de sqlWorkflowInstanceStore met bewaking totdat de QueryActivatableWorkflowsCommand aangeroepen eenmaal in de store wordt aangeroepen.
Wanneer een algemene host die is geabonneerd voor de HasActivatableWorkflowEvent gebeurtenis de gebeurtenis ontvangt, wordt de QueryActivatableWorkflowsCommand gebeurtenis uitgevoerd op basis van het exemplaararchief om activeringsparameters te verkrijgen die vereist zijn voor het maken van een werkstroomhost. De algemene host gebruikt deze activeringsparameters om een werkstroomhost te maken, die op zijn beurt wordt geladen en het uitvoerbare service-exemplaar wordt uitgevoerd.
Algemene hosts
Een algemene host is een host met de waarde van de metagegevenseigenschap WorkflowServiceType voor algemene hosts is ingesteld op WorkflowServiceType.Any om aan te geven dat het werkstroomtype kan verwerken. Een algemene host heeft een XName-parameter met de naam ActivationType.
Momenteel ondersteunt de SQL Workflow Instance Store algemene hosts met de waarde van de parameter ActivationType die is ingesteld op WAS. Als het ActivationType niet is ingesteld op WAS, genereert de SQL Workflow Instance Store een InstancePersistenceException. De workflowbeheerservice die wordt geleverd met de hostingfuncties van Windows Server AppFabric is een algemene host waarop het activeringstype is ingesteld op WAS.
Voor WAS-activering vereist een algemene host een set activeringsparameters om het eindpuntadres af te leiden waarop nieuwe hosts kunnen worden geactiveerd. De activeringsparameters voor WAS-activering zijn de naam van de site, het pad naar de toepassing ten opzichte van de site en het pad naar de service ten opzichte van de toepassing. De SQL Workflow Instance Store slaat deze activeringsparameters op tijdens de uitvoering van de SaveWorkflowCommand.
Detectieperiode voor runnable exemplaren
De eigenschap Runnable Instances Detection Period van de SQL Workflow Instance Store geeft de periode aan waarna de SQL Workflow Instance Store een detectietaak uitvoert om runnable of activeringsbare werkstroomexemplaren in de persistentiedatabase te detecteren na de vorige detectiecyclus. Zie De detectieperiode voor runnable exemplaren voor meer informatie over deze eigenschap.