Udostępnij za pośrednictwem


WorkflowInstance.Unload Metoda

Definicja

Zwalnia wystąpienie przepływu pracy z pamięci do magazynu trwałości. To wywołanie blokuje do momentu zakończenia aktualnie zaplanowanej pracy lub zakończenia zakresu transakcji.

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

Wyjątki

Usługa trwałości nie jest zarejestrowana w aucie środowiska uruchomieniowego przepływu pracy.

Przykłady

W poniższym przykładzie pokazano wywołanie Unload obiektu 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()

Uwagi

Unload jest synchroniczna; oznacza to, że jest zwracany po wykonaniu dowolnej akcji, którą wykonuje. Jeśli wystąpienie przepływu pracy nie jest bezczynne, środowisko uruchomieniowe czeka na przerwanie wystąpienia. Wystąpienie można przerwać tylko po zakończeniu aktualnie zaplanowanego elementu roboczego; Zwykle jest to sytuacja, gdy aktualnie uruchomione działanie jest zwracane z metody Execute . Jeśli jednak wystąpienie wykonuje TransactionScopeActivityelement , zakres transakcji musi zakończyć wykonywanie, zanim wystąpienie może zostać przerwane. Zwolnij, a następnie używa usługi trwałości, aby usunąć wystąpienie przepływu pracy z pamięci i utrwalać je w magazynie danych. Jeśli usługa trwałości nie jest zarejestrowana w usłudze WorkflowRuntime, Unload zgłasza błąd InvalidOperationException. Jeśli wystąpienie przepływu pracy zostało pomyślnie utrwalone, środowisko uruchomieniowe zgłasza WorkflowUnloaded zdarzenie.

Host może używać Unload do odzyskiwania zasobów systemowych z bezczynnego przepływu pracy.

Dotyczy