Compartilhar via


WorkflowInstance.Terminate(String) Método

Definição

Encerra a instância de fluxo de trabalho de forma síncrona.

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

Uma descrição do motivo para encerrar a instância de fluxo de trabalho.

Exceções

O mecanismo de runtime de fluxo de trabalho não está em execução.

Exemplos

O exemplo de código a seguir demonstra como chamar Terminate em um WorkflowInstance objeto .

// 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")

Comentários

A instância de fluxo de trabalho é encerrada de maneira síncrona. O host chama Terminate para encerrar a instância de fluxo de trabalho. O mecanismo de runtime de fluxo de trabalho limpa a instância de fluxo de trabalho na memória e informa ao serviço de persistência que a instância foi limpa da memória. Para o SqlWorkflowPersistenceService, isso significa que todas as informações de estado para essa instância de fluxo de trabalho são excluídas do banco de dados após o encerramento. Você não poderá recarregar a instância de fluxo de trabalho de um ponto de persistência armazenado anteriormente.

Depois que a instância de fluxo de trabalho na memória é desmarcada e o serviço de persistência é informado do encerramento, o Terminate método aciona o WorkflowTerminated evento e passa reason a Message propriedade de um WorkflowTerminatedException contido no WorkflowTerminatedEventArgs.

Terminate é diferente de Abort quando Terminate limpa a instância de fluxo de trabalho na memória e informa o serviço de persistência do encerramento, Abort simplesmente limpa a instância de fluxo de trabalho na memória, que pode ser reiniciada do último ponto de persistência.

Aplica-se a