WorkflowInstance.Terminate(String) Método
Definición
Importante
Parte de la información hace referencia a la versión preliminar del producto, que puede haberse modificado sustancialmente antes de lanzar la versión definitiva. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
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.