Compartir a través de


WorkflowStatus Enumeración

Definición

Precaución

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

Especifica el estado de una instancia de flujo de trabajo.

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
Herencia
WorkflowStatus
Atributos

Campos

Completed 1

La instancia de flujo de trabajo ha finalizado.

Created 4

Una llamada ha creado la instancia de flujo de trabajo a uno de los métodos CreateWorkflow(Type) sobrecargados.

Running 0

La instancia de flujo de trabajo se está ejecutando.

Suspended 2

Una actividad SuspendActivity, ,mediante una llamada a Suspend(String), ha suspendido la instancia de flujo de trabajo o mediante el motor en tiempo de ejecución de flujo de trabajo.

Terminated 3

Una actividad TerminateActivity, mediante una llamada a Terminate(String) o mediante el motor en tiempo de ejecución de flujo de trabajo, ha finalizado la instancia de flujo de trabajo.

Ejemplos

En el ejemplo de código siguiente se muestra cómo utilizar los valores WorkflowStatus para establecer la propiedad WorkflowStatus. Cada valor restringe SqlTrackingWorkflowInstance de una manera diferente.

Este ejemplo de código pertenece al SDK del Monitor de flujo de trabajo, del archivo DatabaseService.cs. Para obtener más información, consulte Monitor de flujo de trabajo.

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

Comentarios

Nota

En esta documentación se describen los tipos y espacios de nombres que están obsoletos. Para obtener más información, vea Tipos en desuso en Windows Workflow Foundation 4.5.

Se aplica a

Consulte también