WorkflowStatus Výčet

Definice

Upozornění

The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*

Určuje stav instance pracovního postupu.

public enum class WorkflowStatus
public enum WorkflowStatus
[System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")]
public enum WorkflowStatus
type WorkflowStatus = 
[<System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")>]
type WorkflowStatus = 
Public Enum WorkflowStatus
Dědičnost
WorkflowStatus
Atributy

Pole

Completed 1

Instance pracovního postupu byla dokončena.

Created 4

Instance pracovního postupu byla vytvořena voláním jedné z přetížených CreateWorkflow(Type) metod.

Running 0

Instance pracovního postupu je spuštěná.

Suspended 2

Instance pracovního postupu byla pozastavena aktivitou SuspendActivity , voláním Suspend(String)nebo modulem modulu runtime pracovního postupu.

Terminated 3

Instance pracovního postupu byla ukončena aktivitou TerminateActivity , voláním Terminate(String)nebo modulem modulu runtime pracovního postupu.

Příklady

Následující příklad kódu ukazuje, jak můžete použít WorkflowStatus hodnoty k nastavení WorkflowStatus vlastnosti. Každá hodnota omezuje hodnotu SqlTrackingWorkflowInstance jiným způsobem.

Tento příklad kódu je součástí ukázky sady SDK pro monitorování pracovního postupu ze souboru DatabaseService.cs. Další informace najdete v tématu Monitorování pracovního postupu.

internal List<SqlTrackingWorkflowInstance> GetWorkflows(string workflowEvent, DateTime from, DateTime until, TrackingDataItemValue trackingDataItemValue)
{
    try
    {
        List<SqlTrackingWorkflowInstance> queriedWorkflows = new List<SqlTrackingWorkflowInstance>();
        SqlTrackingQuery sqlTrackingQuery = new SqlTrackingQuery(connectionString);
        SqlTrackingQueryOptions 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 (!((string.Empty == trackingDataItemValue.QualifiedName) || (string.Empty == trackingDataItemValue.FieldName) || ((string.Empty == trackingDataItemValue.DataValue))))
            sqlTrackingQueryOptions.TrackingDataItems.Add(trackingDataItemValue);

        queriedWorkflows.Clear();

        if ("created" == workflowEvent.ToLower(CultureInfo.InvariantCulture))
        {
            sqlTrackingQueryOptions.WorkflowStatus = WorkflowStatus.Created;
            queriedWorkflows.AddRange(sqlTrackingQuery.GetWorkflows(sqlTrackingQueryOptions));
        }
        else if ("completed" == workflowEvent.ToLower(CultureInfo.InvariantCulture))
        {
            sqlTrackingQueryOptions.WorkflowStatus = WorkflowStatus.Completed;
            queriedWorkflows.AddRange(sqlTrackingQuery.GetWorkflows(sqlTrackingQueryOptions));
        }
        else if ("running" == workflowEvent.ToLower(CultureInfo.InvariantCulture))
        {
            sqlTrackingQueryOptions.WorkflowStatus = WorkflowStatus.Running;
            queriedWorkflows.AddRange(sqlTrackingQuery.GetWorkflows(sqlTrackingQueryOptions));
        }
        else if ("suspended" == workflowEvent.ToLower(CultureInfo.InvariantCulture))
        {
            sqlTrackingQueryOptions.WorkflowStatus = WorkflowStatus.Suspended;
            queriedWorkflows.AddRange(sqlTrackingQuery.GetWorkflows(sqlTrackingQueryOptions));
        }
        else if ("terminated" == workflowEvent.ToLower(CultureInfo.InvariantCulture))
        {
            sqlTrackingQueryOptions.WorkflowStatus = WorkflowStatus.Terminated;
            queriedWorkflows.AddRange(sqlTrackingQuery.GetWorkflows(sqlTrackingQueryOptions));
        }
        else if (("all" == workflowEvent.ToLower(CultureInfo.InvariantCulture)) || string.IsNullOrEmpty(workflowEvent))
        {
            sqlTrackingQueryOptions.WorkflowStatus = WorkflowStatus.Created;
            queriedWorkflows.AddRange(sqlTrackingQuery.GetWorkflows(sqlTrackingQueryOptions));

            sqlTrackingQueryOptions.WorkflowStatus = WorkflowStatus.Completed;
            queriedWorkflows.AddRange(sqlTrackingQuery.GetWorkflows(sqlTrackingQueryOptions));

            sqlTrackingQueryOptions.WorkflowStatus = WorkflowStatus.Running;
            queriedWorkflows.AddRange(sqlTrackingQuery.GetWorkflows(sqlTrackingQueryOptions));

            sqlTrackingQueryOptions.WorkflowStatus = WorkflowStatus.Suspended;
            queriedWorkflows.AddRange(sqlTrackingQuery.GetWorkflows(sqlTrackingQueryOptions));

            sqlTrackingQueryOptions.WorkflowStatus = WorkflowStatus.Terminated;
            queriedWorkflows.AddRange(sqlTrackingQuery.GetWorkflows(sqlTrackingQueryOptions));
        }
        return queriedWorkflows;
    }
    catch (Exception exception)
    {
        throw new Exception("Exception in GetWorkflows", exception);
    }
}
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

Poznámky

Poznámka

V tomto materiálu jsou popsané zastaralé typy a obory názvů. Další informace najdete v tématu Zastaralé typy ve Windows Workflow Foundation 4.5.

Platí pro

Viz také