Postupy: Povolení trvalosti pro pracovní postupy a služby pracovních postupů
Tento článek popisuje, jak povolit trvalost pracovních postupů a služeb pracovních postupů.
Povolení trvalosti pro pracovní postupy
Úložiště instancí můžete přidružit k WorkflowApplication pomocí InstanceStore vlastnosti WorkflowApplication třídy. Metoda Persist uloží nebo zachová pracovní postup do úložiště instancí přidruženého k aplikaci. Metoda Unload uchovává pracovní postup do úložiště instancí a pak uvolní instanci z paměti. Metoda Load načte pracovní postup do paměti pomocí dat pracovního postupu uložených v úložišti trvalosti instance.
Metoda Persist provádí následující kroky:
- Pozastaví plánovač pracovního postupu a počká, dokud pracovní postup nepřejde do stavu nečinnosti.
- Pracovní postup se zachová nebo uloží do úložiště trvalosti.
- Obnoví plánovač pracovního postupu.
Metoda Unload provádí následující kroky:
- Pozastaví plánovač pracovního postupu a počká, dokud pracovní postup nepřejde do stavu nečinnosti.
- Pracovní postup se zachová nebo uloží do úložiště trvalosti.
- Odstraní instanci pracovního postupu v paměti.
Metody Persist i Unload budou blokované, zatímco pracovní postup je v bez trvalé zóně, dokud pracovní postup neukončí zónu bez zachování. Metoda pokračuje po dokončení operace trvalého uložení nebo uvolnění zóny bez zachování. Pokud se zóna bez zachování nedokončí před vypršením časového limitu nebo pokud proces trvalosti trvá příliš dlouho, TimeoutException
vyvolá se.
Povolení trvalosti v kódu
DurableInstancingOptions člen WorkflowServiceHost třídy má vlastnost s názvem InstanceStore, kterou můžete použít k přidružení úložiště instance k WorkflowServiceHost.
// wsh is an instance of WorkflowServiceHost class
wsh.DurableInstancingOptions.InstanceStore = new SqlWorkflowInstanceStore();
Při otevření WorkflowServiceHost je trvalost automaticky povolena, pokud DurableInstancingOptions.InstanceStore nemá hodnotu null.
Chování služby obvykle poskytuje konkrétní úložiště instancí, které se má použít s hostitelem služby pracovního postupu pomocí vlastnosti InstanceStore . Například vytvoří instanci SqlWorkflowInstanceStore, nakonfiguruje ji a přiřadí ji DurableInstancingOptions.InstanceStore.SqlWorkflowInstanceStoreBehavior
Povolení trvalosti pomocí konfiguračního souboru aplikace
Trvalost lze povolit pomocí konfiguračního souboru aplikace přidáním následujícího kódu do souboru app.config nebo web.config:
<configuration>
<system.serviceModel>
<behaviors>
<serviceBehaviors>
<behavior name="myBehavior">
<sqlWorkflowInstanceStore connectionString="Data Source=myDatabaseServer;Initial Catalog=myPersistenceDatabase" />
</behavior>
</serviceBehaviors>
</behaviors>
</system.serviceModel>
</configuration>
Důležité
Microsoft doporučuje používat nejbezpečnější dostupný tok ověřování. Pokud se připojujete k Azure SQL, spravované identity pro prostředky Azure se doporučují metodou ověřování.