WorkflowCreationContext.OnBeginWorkflowCompleted(ActivityInstanceState, IDictionary<String,Object>, Exception, TimeSpan, AsyncCallback, Object) Método

Definição

Inicia uma operação assíncrona para executar a notificação de conclusão de instância de fluxo de trabalho.Begins an asynchronous operation to perform workflow instance completion notification. Este método é chamado quando a instância de fluxo de trabalho associada a este WorkflowCreationContext é concluída.This method is called when the workflow instance associated with this WorkflowCreationContext completes. As classes derivadas podem substituir essa operação para executar ações personalizadas na conclusão da instância de fluxo de trabalho.Derived classes can override this operation to perform custom actions on workflow instance completion.

protected public:
 virtual IAsyncResult ^ OnBeginWorkflowCompleted(System::Activities::ActivityInstanceState completionState, System::Collections::Generic::IDictionary<System::String ^, System::Object ^> ^ workflowOutputs, Exception ^ terminationException, TimeSpan timeout, AsyncCallback ^ callback, System::Object ^ state);
protected internal virtual IAsyncResult OnBeginWorkflowCompleted (System.Activities.ActivityInstanceState completionState, System.Collections.Generic.IDictionary<string,object> workflowOutputs, Exception terminationException, TimeSpan timeout, AsyncCallback callback, object state);
abstract member OnBeginWorkflowCompleted : System.Activities.ActivityInstanceState * System.Collections.Generic.IDictionary<string, obj> * Exception * TimeSpan * AsyncCallback * obj -> IAsyncResult
override this.OnBeginWorkflowCompleted : System.Activities.ActivityInstanceState * System.Collections.Generic.IDictionary<string, obj> * Exception * TimeSpan * AsyncCallback * obj -> IAsyncResult
Protected Friend Overridable Function OnBeginWorkflowCompleted (completionState As ActivityInstanceState, workflowOutputs As IDictionary(Of String, Object), terminationException As Exception, timeout As TimeSpan, callback As AsyncCallback, state As Object) As IAsyncResult

Parâmetros

completionState
ActivityInstanceState

O estado da instância de fluxo de trabalho.The state of the workflow instance.

workflowOutputs
IDictionary<String,Object>

Uma coleção de pares chave-valor que contêm a saída gerada pela instância de fluxo de trabalho.A collection of key/value pairs that contain output generated by the workflow instance.

terminationException
Exception

Se estiver presente, um erro que causou o término do fluxo de trabalho.If present, an error that caused the workflow to terminate.

timeout
TimeSpan

O intervalo de tempo durante o qual a operação assíncrona deve ser concluída.The time interval during which the asynchronous operation must complete.

callback
AsyncCallback

O local em um aplicativo para o qual o controle retorna quando a operação assíncrona é concluída.The location in an application to which control returns when the asynchronous operation completes.

state
Object

Estado definido pelo usuário.User-defined state.

Retornos

IAsyncResult

O status da operação assíncrona.The status of the asynchronous operation.

Exemplos

O exemplo a seguir mostra como implementar o OnBeginWorkflowCompleted método.The following example shows how to implement the OnBeginWorkflowCompleted method.

protected override IAsyncResult OnBeginWorkflowCompleted(ActivityInstanceState completionState, IDictionary<string, object> workflowOutputs,
    Exception faultedReason, TimeSpan timeout, AsyncCallback callback, object state)
{
    if (completionState == ActivityInstanceState.Faulted)
    {
        Console.WriteLine("InstanceId :" + InstanceId + " OnBeginWorkflowTerminated");
    }
    else if (completionState == ActivityInstanceState.Canceled)
    {
        Console.WriteLine("InstanceId :" + InstanceId + " OnBeginWorkflowCanceled");
    }
    else
    {
        Console.WriteLine("InstanceId :" + InstanceId + " OnBeginWorkflowCompleted");
        WorkflowHostingResponseContext responseContext = UserState as WorkflowHostingResponseContext;
        if (responseContext != null)
        {
            foreach (object value in workflowOutputs.Values)
            {
                responseContext.SendResponse(value, null);
                break;
            }
        }
    }
    return base.OnBeginWorkflowCompleted(completionState, workflowOutputs, faultedReason, timeout, callback, state);
}

Aplica-se a