WorkflowInstance.Terminate(String) Método
Definição
Importante
Algumas informações se referem a produtos de pré-lançamento que podem ser substancialmente modificados antes do lançamento. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
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.