WorkflowInstance.Terminate(String) Méthode

Définition

Met fin à l'instance de workflow de façon synchrone.

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

Paramètres

error
String

Description de la raison de l'arrêt de l'instance de workflow.

Exceptions

Le moteur d'exécution de workflow ne s'exécute pas.

Exemples

L'exemple de code suivant présente l'appel à Terminate sur un objet 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")

Remarques

L'instance de workflow est arrêtée de façon synchrone. L'hôte appelle Terminate pour arrêter l'instance de workflow. Le moteur d'exécution de workflow efface l'instance de workflow en mémoire et en informe le service de persistance. Pour SqlWorkflowPersistenceService, cela signifie que toutes les informations sur l'état de cette instance de workflow sont supprimées de la base de données à la fin. Vous ne serez pas en mesure de recharger l'instance de workflow à partir d'un point de persistance précédemment stocké.

Après que l'instance de workflow en mémoire ait été effacée et que le service de persistance ait été informé de l'arrêt, la méthode Terminate déclenche l'événement WorkflowTerminated et passe reason dans la propriété Message d'une WorkflowTerminatedException contenue dans le WorkflowTerminatedEventArgs.

Terminate est différent de Abort dans ce sens que Terminate efface l'instance de workflow en mémoire et informe le service de persistance de l'arrêt, alors que Abort efface simplement l'instance de workflow en mémoire, qui peut être redémarrée à partir du dernier point de persistance.

S’applique à