Sdílet prostřednictvím


WorkflowInstance.Unload Metoda

Definice

Uvolní instanci pracovního postupu z paměti do úložiště trvalosti. Toto volání se blokuje až do dokončení aktuálně naplánované práce nebo do konce oboru transakce.

public:
 void Unload();
public void Unload ();
member this.Unload : unit -> unit
Public Sub Unload ()

Výjimky

V modulu runtime pracovního postupu není zaregistrovaná žádná služba trvalosti.

Příklady

Následující příklad ukazuje volání Unload objektu WorkflowInstance .

// Create a WorkflowRuntime object
WorkflowRuntime workflowRuntime = new WorkflowRuntime();
// Create a new instance of the out-of-box SqlWorkflowPersistenceService
SqlWorkflowPersistenceService persistenceService =
   new SqlWorkflowPersistenceService(
   "Initial Catalog=SqlPersistenceService;Data Source=localhost;Integrated Security=SSPI;");
// Add the service to the runtime
workflowRuntime.AddService(persistenceService);
// Create a WorkflowInstance object
WorkflowInstance workflowInstance = workflowRuntime.CreateWorkflow(typeof(Workflow1));
// Start the workflow instance
workflowInstance.Start();
//Unload the instance
workflowInstance.Unload();
' Create a WorkflowRuntime object
Dim workflowRuntime As New WorkflowRuntime()
' Create a new instance of the out-of-box SqlWorkflowPersistenceService
Dim persistenceService As _
   New SqlWorkflowPersistenceService( _
   "Initial Catalog=SqlPersistenceServiceData Source=localhostIntegrated Security=SSPI")
' Add the service to the runtime
workflowRuntime.AddService(persistenceService)
' Create a WorkflowInstance object
Dim workflowInstance As WorkflowInstance = workflowRuntime.CreateWorkflow(GetType(Workflow1))
' Start the workflow instance
workflowInstance.Start()
'Unload the instance
workflowInstance.Unload()

Poznámky

Unload je synchronní; to znamená, že se vrátí po dokončení jakékoli akce, kterou provede. Pokud instance pracovního postupu není nečinná, modul runtime počká, dokud nebude možné instanci přerušit. Instance může být přerušena pouze po dokončení aktuálně naplánované pracovní položky; k tomu obvykle dochází, když se aktuálně spuštěná aktivita vrátí ze své Execute metody. Pokud však instance provádí TransactionScopeActivity, musí rozsah transakce dokončit provádění před instancí může být přerušena. Uvolnění pak pomocí služby trvalosti odebere instanci pracovního postupu z paměti a uloží ji do úložiště dat. Pokud u objektu WorkflowRuntimenení zaregistrovaná žádná služba trvalosti, Unload vyvolá příkaz InvalidOperationException. Pokud je instance pracovního postupu úspěšně zachována, modul runtime vyvolá WorkflowUnloaded událost.

Hostitel může využít Unload k uvolnění systémových prostředků z nečinných pracovních postupů.

Platí pro