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
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);
}