WorkflowStatus Enumeration
Specifies the status of a workflow instance.
Assembly: System.Workflow.Runtime (in System.Workflow.Runtime.dll)
| Member name | Description | |
|---|---|---|
| Running | The workflow instance is running. | |
| Completed | The workflow instance has completed. | |
| Suspended | The workflow instance has been suspended by a SuspendActivity activity, by a call to WorkflowInstance.Suspend,or by the workflow runtime engine. | |
| Terminated | The workflow instance has been terminated by a TerminateActivity activity, by a call to WorkflowInstance.Terminate, or by the workflow runtime engine. | |
| Created | The workflow instance has been created by a call to one of the overloaded WorkflowRuntime.CreateWorkflow methods. |
The following code example demonstrates how you can use the WorkflowStatus values to set the WorkflowStatus property. Each value constrains the SqlTrackingWorkflowInstance in a different way.
This code example is part of the Workflow Monitor SDK Sample from the DatabaseService.cs file. For more information, see Workflow Monitor.
Friend Function GetWorkflows( _ ByVal workflowEvent As String, _ ByVal from As System.DateTime, _ ByVal until As DateTime, _ ByVal trackingDataItemValue As TrackingDataItemValue) _ As List(Of SqlTrackingWorkflowInstance) Try Dim queriedWorkflows As List(Of SqlTrackingWorkflowInstance) = New List(Of SqlTrackingWorkflowInstance)() Dim sqlTrackingQuery As SqlTrackingQuery = New SqlTrackingQuery(connectionString) Dim sqlTrackingQueryOptions As SqlTrackingQueryOptions = New SqlTrackingQueryOptions() sqlTrackingQueryOptions.StatusMinDateTime = from.ToUniversalTime() sqlTrackingQueryOptions.StatusMaxDateTime = until.ToUniversalTime() ' If QualifiedName, FieldName, or DataValue is not supplied, we will not query since they are all required to match If (Not ((trackingDataItemValue.QualifiedName = String.Empty) Or (trackingDataItemValue.FieldName = String.Empty) Or ((trackingDataItemValue.DataValue = String.Empty)))) Then sqlTrackingQueryOptions.TrackingDataItems.Add(trackingDataItemValue) End If queriedWorkflows.Clear() If (workflowEvent.ToLower(CultureInfo.InvariantCulture) = "created") Then sqlTrackingQueryOptions.WorkflowStatus = System.Workflow.Runtime.WorkflowStatus.Created queriedWorkflows.AddRange(sqlTrackingQuery.GetWorkflows(sqlTrackingQueryOptions)) ElseIf (workflowEvent.ToLower(CultureInfo.InvariantCulture) = "completed") Then sqlTrackingQueryOptions.WorkflowStatus = System.Workflow.Runtime.WorkflowStatus.Completed queriedWorkflows.AddRange(sqlTrackingQuery.GetWorkflows(sqlTrackingQueryOptions)) ElseIf (workflowEvent.ToLower(CultureInfo.InvariantCulture) = "running") Then sqlTrackingQueryOptions.WorkflowStatus = System.Workflow.Runtime.WorkflowStatus.Running queriedWorkflows.AddRange(sqlTrackingQuery.GetWorkflows(sqlTrackingQueryOptions)) ElseIf (workflowEvent.ToLower(CultureInfo.InvariantCulture) = "suspended") Then sqlTrackingQueryOptions.WorkflowStatus = System.Workflow.Runtime.WorkflowStatus.Suspended queriedWorkflows.AddRange(sqlTrackingQuery.GetWorkflows(sqlTrackingQueryOptions)) ElseIf (workflowEvent.ToLower(CultureInfo.InvariantCulture) = "terminated") Then sqlTrackingQueryOptions.WorkflowStatus = System.Workflow.Runtime.WorkflowStatus.Terminated queriedWorkflows.AddRange(sqlTrackingQuery.GetWorkflows(sqlTrackingQueryOptions)) ElseIf ((workflowEvent = Nothing) Or _ (workflowEvent.ToLower(CultureInfo.InvariantCulture) = "all") Or _ (workflowEvent = String.Empty)) Then sqlTrackingQueryOptions.WorkflowStatus = System.Workflow.Runtime.WorkflowStatus.Created queriedWorkflows.AddRange(sqlTrackingQuery.GetWorkflows(sqlTrackingQueryOptions)) sqlTrackingQueryOptions.WorkflowStatus = System.Workflow.Runtime.WorkflowStatus.Completed queriedWorkflows.AddRange(sqlTrackingQuery.GetWorkflows(sqlTrackingQueryOptions)) sqlTrackingQueryOptions.WorkflowStatus = System.Workflow.Runtime.WorkflowStatus.Running queriedWorkflows.AddRange(sqlTrackingQuery.GetWorkflows(sqlTrackingQueryOptions)) sqlTrackingQueryOptions.WorkflowStatus = System.Workflow.Runtime.WorkflowStatus.Suspended queriedWorkflows.AddRange(sqlTrackingQuery.GetWorkflows(sqlTrackingQueryOptions)) sqlTrackingQueryOptions.WorkflowStatus = System.Workflow.Runtime.WorkflowStatus.Terminated queriedWorkflows.AddRange(sqlTrackingQuery.GetWorkflows(sqlTrackingQueryOptions)) End If Return queriedWorkflows Catch exception As Exception 'Dim errorMessage As String = "Exception in GetWorkflows" + vbCrLf + "Database: " + databaseName + vbCrLf + "Server: " + serverName Throw (New Exception("Exception in GetWorkflows", exception)) End Try End Function
Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, 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.