Поделиться через


WorkflowInstance.Terminate(String) Метод

Определение

Завершает выполнение экземпляра рабочего процесса в синхронном режиме.

public:
 void Terminate(System::String ^ error);
public void Terminate (string error);
member this.Terminate : string -> unit
Public Sub Terminate (error As String)

Параметры

error
String

Описание причины завершения выполнения экземпляра рабочего процесса.

Исключения

Механизм среды выполнения рабочих процессов не работает.

Примеры

В следующем примере кода показан вызов метода Terminate для объекта WorkflowInstance.

// Create a workflow runtime
WorkflowRuntime workflowRuntime = new WorkflowRuntime();
// Create a workflow instance
WorkflowInstance workflowInstance = workflowRuntime.CreateWorkflow(typeof(Workflow1));
// Start the workflow
workflowInstance.Start();
// Terminate the workflow, passing in a message
workflowInstance.Terminate("Workflow manually terminated");
' Create a workflow runtime
Dim workflowRuntime As New WorkflowRuntime()
' Create a workflow instance
Dim workflowInstance As WorkflowInstance = workflowRuntime.CreateWorkflow(GetType(Workflow1))
' Start the workflow
workflowInstance.Start()
' Terminate the workflow, passing in a message
workflowInstance.Terminate("Workflow manually terminated")

Комментарии

Выполнение экземпляра рабочего процесса завершено в синхронном режиме. Узел вызывает метод Terminate для завершения выполнения экземпляра рабочего процесса. Механизм среды выполнения рабочих процессов удаляет экземпляр рабочего процесса из памяти и уведомляет службу сохраняемости о том, что экземпляр удален. Для службы SqlWorkflowPersistenceService это означает, что все данные о состоянии данного экземпляра рабочего процесса удаляются из базы данных при его завершении. Повторная загрузка экземпляра рабочего процесса с ранее сохраненной точки сохранения будет невозможна.

После удаления экземпляра рабочего процесса из памяти и уведомления службы сохраняемости о завершении, метод Terminate вызывает событие WorkflowTerminated и передает причину reason в свойство Message объекта WorkflowTerminatedException, содержащегося в аргументах WorkflowTerminatedEventArgs.

Метод Terminate отличается от метода Abort тем, что «Terminate» не только удаляет экземпляр рабочего процесса из памяти, но и уведомляет службу сохраняемости о завершении, в то время как Abort просто удаляет из памяти экземпляр рабочего процесса, который впоследствии можно перезапустить с точки последнего сохранения.

Применяется к