WorkflowApplication.Completed Property

.NET Framework (current version)
 

Gets or sets the Action<T> that is invoked when the workflow instance completes.

Namespace:   System.Activities
Assembly:  System.Activities (in System.Activities.dll)

public Action<WorkflowApplicationCompletedEventArgs> Completed { get; set; }

Property Value

Type: System.Action<WorkflowApplicationCompletedEventArgs>

The action that is invoked when the workflow instance is complete.

The following code example inspects the WorkflowApplicationCompletedEventArgs passed into the Completed handler of a WorkflowApplication instance and displays information about how the workflow completed.

wfApp.Completed = delegate(WorkflowApplicationCompletedEventArgs e)
{
    if (e.CompletionState == ActivityInstanceState.Faulted)
    {
        Console.WriteLine("Workflow {0} Terminated.", e.InstanceId);
        Console.WriteLine("Exception: {0}\n{1}",
            e.TerminationException.GetType().FullName,
            e.TerminationException.Message);
    }
    else if (e.CompletionState == ActivityInstanceState.Canceled)
    {
        Console.WriteLine("Workflow {0} Canceled.", e.InstanceId);
    }
    else
    {
        Console.WriteLine("Workflow {0} Completed.", e.InstanceId);

        // Retrieve the outputs of the workflow.
        foreach (var kvp in e.Outputs)
        {
            Console.WriteLine("Name: {0} - Value {1}",
                kvp.Key, kvp.Value);
        }

        // Outputs can be directly accessed by argument name.
        Console.WriteLine("The winner is {0}.", e.Outputs["Winner"]);
    }
};

.NET Framework
Available since 4.0
Return to top
Show: