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
просто удаляет из памяти экземпляр рабочего процесса, который впоследствии можно перезапустить с точки последнего сохранения.