WorkflowInstance.Terminate(String) Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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.