WorkflowApplicationCompletedEventArgs.Outputs Property

Definition

Gets a dictionary that contains the values of OutArguments of the workflow instance's root activity, keyed by argument name.

public:
 property System::Collections::Generic::IDictionary<System::String ^, System::Object ^> ^ Outputs { System::Collections::Generic::IDictionary<System::String ^, System::Object ^> ^ get(); };
public System.Collections.Generic.IDictionary<string,object> Outputs { get; }
member this.Outputs : System.Collections.Generic.IDictionary<string, obj>
Public ReadOnly Property Outputs As IDictionary(Of String, Object)

Property Value

IDictionary<String,Object>

A dictionary that contains the values of OutArguments of the workflow instance's root activity, keyed by argument name.

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