.NET Framework Class Library
WorkflowRuntime..::.WorkflowCompleted Event

Updated: November 2007

Occurs when a workflow instance has completed.

Namespace:  System.Workflow.Runtime
Assembly:  System.Workflow.Runtime (in System.Workflow.Runtime.dll)

Visual Basic (Declaration)
Public Event WorkflowCompleted As EventHandler(Of WorkflowCompletedEventArgs)
Visual Basic (Usage)
Dim instance As WorkflowRuntime
Dim handler As EventHandler(Of WorkflowCompletedEventArgs)

AddHandler instance.WorkflowCompleted, handler
C#
public event EventHandler<WorkflowCompletedEventArgs> WorkflowCompleted
Visual C++
public:
 event EventHandler<WorkflowCompletedEventArgs^>^ WorkflowCompleted {
    void add (EventHandler<WorkflowCompletedEventArgs^>^ value);
    void remove (EventHandler<WorkflowCompletedEventArgs^>^ value);
}
J#
/** @event */
public void add_WorkflowCompleted (EventHandler<WorkflowCompletedEventArgs> value)
/** @event */
public void remove_WorkflowCompleted (EventHandler<WorkflowCompletedEventArgs> value)
JScript
JScript does not support events.

WorkflowCompleted is raised after the workflow instance has completed but before the instance is invalidated in memory.

For the WorkflowPersisted event, sender will contain the WorkflowRuntime and WorkflowCompletedEventArgs will contain the WorkflowInstance and its output parameters.

For more information about handling events, see Consuming Events.

The following code example demonstrates how you can use WorkflowRuntime functionality from a workflow host. The code associates the WorkflowCompleted with an event handler, a method named OnWorkflowCompleted.

This code example is part of the Canceling a Workflow SDK sample from the Program.cs file. For more information, see Canceling a Workflow.

Visual Basic
Shared Sub Main()
    Dim connectionString As String = "Initial Catalog=SqlPersistenceService;Data Source=localhost;Integrated Security=SSPI;"
    Using workflowRuntime As New WorkflowRuntime()
        Dim dataService As New ExternalDataExchangeService()
        workflowRuntime.AddService(dataService)
        dataService.AddService(expenseService)

        workflowRuntime.AddService(New SqlWorkflowPersistenceService(connectionString))


        AddHandler workflowRuntime.WorkflowCompleted, AddressOf OnWorkflowCompleted
        AddHandler workflowRuntime.WorkflowTerminated, AddressOf OnWorkflowTerminated
        AddHandler workflowRuntime.WorkflowIdled, AddressOf OnWorkflowIdled
        AddHandler workflowRuntime.WorkflowAborted, AddressOf OnWorkflowAborted


        Dim workflowInstance As WorkflowInstance
        workflowInstance = workflowRuntime.CreateWorkflow(GetType(SampleWorkflow))
        workflowInstance.Start()

        waitHandle.WaitOne()

        workflowRuntime.StopRuntime()
    End Using
End Sub

C#
static void Main()
{
    string connectionString = "Initial Catalog=SqlPersistenceService;Data Source=localhost;Integrated Security=SSPI;";

    using (WorkflowRuntime workflowRuntime = new WorkflowRuntime())
    {
        ExternalDataExchangeService dataService = new ExternalDataExchangeService();
        workflowRuntime.AddService(dataService);
        dataService.AddService(expenseService);

        workflowRuntime.AddService(new SqlWorkflowPersistenceService(connectionString));
        workflowRuntime.StartRuntime();

        workflowRuntime.WorkflowCompleted += OnWorkflowCompleted;
        workflowRuntime.WorkflowTerminated += OnWorkflowTerminated;
        workflowRuntime.WorkflowIdled += OnWorkflowIdled;
        workflowRuntime.WorkflowAborted += OnWorkflowAborted;

        Type type = typeof(SampleWorkflow1);
        WorkflowInstance workflowInstance = workflowRuntime.CreateWorkflow(type);
        workflowInstance.Start();

        waitHandle.WaitOne();

        workflowRuntime.StopRuntime();
    }
}

Windows Vista, Windows XP SP2, Windows Server 2003

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0
Page view tracker