WorkflowInstance.Terminate(String) Metodo
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Termina l'istanza del flusso di lavoro in modo sincrono.
public:
void Terminate(System::String ^ error);
public void Terminate (string error);
member this.Terminate : string -> unit
Public Sub Terminate (error As String)
Parametri
- error
- String
Descrizione del motivo della chiusura dell'istanza del flusso di lavoro.
Eccezioni
Il motore di runtime del flusso di lavoro non è in esecuzione.
Esempio
Nell'esempio di codice seguente viene illustrata la chiamata a Terminate su un oggetto 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")
Commenti
L'istanza del flusso di lavoro viene chiusa in modo sincrono. L'host chiama il metodo Terminate per terminare l'istanza del flusso di lavoro. Il motore di runtime del flusso di lavoro cancella l'istanza del flusso di lavoro in memoria e informa il servizio di persistenza che l'istanza è stata cancellata dalla memoria. Per SqlWorkflowPersistenceService, questo vuole dire che ogni informazione sullo stato dell'istanza del flusso di lavoro viene eliminata dal database al momento della chiusura. Non sarà possibile ricaricare l'istanza del flusso di lavoro da un punto di persistenza precedentemente archiviato.
Dopo che l'istanza del flusso di lavoro in memoria è stata cancellata e il servizio di persistenza è stato informato della chiusura, il metodo Terminate
genera l'evento WorkflowTerminated e passa reason
nella proprietà Message di una classe WorkflowTerminatedException contenuta in WorkflowTerminatedEventArgs.
Terminate
è diverso dal metodo Abort poiché mentre Terminate cancella l'istanza del flusso di lavoro in memoria e informa il servizio di persistenza della chiusura, Abort
cancella semplicemente l'istanza del flusso di lavoro in memoria, che può quindi essere riavviata dall'ultimo punto di persistenza.