WorkflowApplicationCompletedEventArgs.CompletionState Property

Definition

Gets the completion state of the workflow instance, which indicates whether the workflow instance completed successfully, was canceled, or faulted.

public:
 property System::Activities::ActivityInstanceState CompletionState { System::Activities::ActivityInstanceState get(); };
public System.Activities.ActivityInstanceState CompletionState { get; }
member this.CompletionState : System.Activities.ActivityInstanceState
Public ReadOnly Property CompletionState As ActivityInstanceState

Property Value

The completion state of the workflow instance, which indicates whether the workflow instance completed successfully, was canceled, or faulted.

Examples

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

Applies to