WorkflowRuntime.WorkflowCompleted Event

Definition

Occurs when a workflow instance has completed.

public:
 event EventHandler<System::Workflow::Runtime::WorkflowCompletedEventArgs ^> ^ WorkflowCompleted;
public event EventHandler<System.Workflow.Runtime.WorkflowCompletedEventArgs> WorkflowCompleted;
member this.WorkflowCompleted : EventHandler<System.Workflow.Runtime.WorkflowCompletedEventArgs> 
Public Custom Event WorkflowCompleted As EventHandler(Of WorkflowCompletedEventArgs) 
Public Event WorkflowCompleted As EventHandler(Of WorkflowCompletedEventArgs) 

Event Type

Examples

The following code example demonstrates how to 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 sample.

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

Remarks

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

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

For more information about handling events, see Handling and raising events.

Applies to