WorkflowRuntime.WorkflowCompleted Event
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
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.