WorkflowInstance.Terminate(String) Método

Definición

Finaliza la instancia de flujo de trabajo de una forma sincrónica.

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

Parámetros

error
String

Una descripción de la razón para finalizar la instancia de flujo de trabajo.

Excepciones

El motor en tiempo de ejecución de flujo de trabajo no está en ejecución.

Ejemplos

El ejemplo de código siguiente muestra cómo se llama a Terminar en un objeto 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")

Comentarios

La instancia de flujo de trabajo se finaliza de una forma sincrónica. El host llama a Terminate para finalizar la instancia de flujo de trabajo. El motor en tiempo de ejecución de flujo de trabajo borra la instancia de flujo de trabajo en memoria e informa al servicio de persistencia que se ha borrado la instancia de la memoria. Para SqlWorkflowPersistenceService, esto significa que toda la información de estado para esa instancia de flujo de trabajo se elimina de la base de datos cuando se termina. No podrá recargar la instancia de flujo de trabajo de un punto de persistencia previamente almacenado.

Una vez borrada la instancia de flujo de trabajo en memoria y se informa al servicio de persistencia de la finalización, el método Terminate genera el evento WorkflowTerminated y pasa reason en la propiedad Message de WorkflowTerminatedException contenida en WorkflowTerminatedEventArgs.

Terminate es diferente de Abort en que Finalizar borra la instancia de flujo de trabajo en memoria e informa al servicio de persistencia de la finalización, Abort simplemente borra la instancia de flujo de trabajo en memoria, que puede reiniciarse a continuación desde el último punto de persistencia.

Se aplica a