Sdílet prostřednictvím


SqlTrackingQueryOptions.WorkflowStatus Vlastnost

Definice

Získá nebo nastaví WorkflowStatus hodnotu, která se používá k omezení množiny SqlTrackingWorkflowInstance objektů vrácených voláním GetWorkflows(SqlTrackingQueryOptions).

public:
 property Nullable<System::Workflow::Runtime::WorkflowStatus> WorkflowStatus { Nullable<System::Workflow::Runtime::WorkflowStatus> get(); void set(Nullable<System::Workflow::Runtime::WorkflowStatus> value); };
public System.Workflow.Runtime.WorkflowStatus? WorkflowStatus { get; set; }
member this.WorkflowStatus : Nullable<System.Workflow.Runtime.WorkflowStatus> with get, set
Public Property WorkflowStatus As Nullable(Of WorkflowStatus)

Hodnota vlastnosti

Jedna z WorkflowStatus hodnot nebo null (Nothing v jazyce Visual Basic). Výchozí hodnota je null (Nothing).

Příklady

Následující příklad ukazuje nastavení WorkflowStatus vlastnost. Tento příklad je z ukázky sady SDK pro monitorování pracovního postupu. Další informace najdete v tématu Ukázka monitorování pracovního postupu.

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

Poznámky

SqlTrackingQueryOptionsomezuje množinu objektů vrácených voláním SqlTrackingQuery.GetWorkflows na ty instance pracovního postupu, které mají Type hodnotu určenou nástrojem WorkflowType, které mají stav určený WorkflowStatus během období určeného StatusMinDateTimeStatusMaxDateTimea a extrahovaná data, která odpovídají alespoň jednomu z TrackingDataItemValue objektů určených nástrojem TrackingDataItems.SqlTrackingWorkflowInstance

Instance pracovního postupu je považována za stav, který odpovídá WorkflowStatus , pokud poslední WorkflowTrackingRecord přijatá instance pracovního postupu před nebo během zadaného časového období má vlastnost WorkflowTrackingRecord.TrackingWorkflowEvent nastavenou TrackingWorkflowEvent na hodnotu, která se mapuje na System.Workflow.Runtime.WorkflowStatus hodnotu určenou nástrojem WorkflowStatus. TrackingProfile Proto instance pro pracovní postup musí mít WorkflowTrackPoint hodnotu, která je nakonfigurována pro příslušnou System.Workflow.Runtime.Tracking.TrackingWorkflowEvent hodnotu. Spárovat se můžou pouze TrackingWorkflowEvent hodnoty odeslané v záznamech sledování pracovního postupu. Pokud pro instanci pracovního postupu nebyly odeslány žádné záznamy sledování pracovního postupu, považuje se instance pracovního postupu za stav WorkflowStatus.Created.

Následující tabulka ukazuje mapování mezi TrackingWorkflowEvent hodnotami a WorkflowStatus hodnotami.

TrackingWorkflowEvent – hodnota Hodnota WorkflowStatus
Aborted Running
Changed Running
Completed Completed
Created Created
Exception Running
Idle Running
Loaded Running
Persisted Running
Resumed Running
Started Running
Suspended Suspended
Terminated Terminated
Unloaded Running

Pokud WorkflowStatus je hodnota null (Nothing), nebude vrácená sada SqlTrackingWorkflowInstance objektů omezena stavem. Jinými slovy, objekt se vrátí pro jakoukoli instanci pracovního postupu, SqlTrackingWorkflowInstance která odpovídá parametrům zadaným ostatními vlastnostmi nástroje SqlTrackingQueryOptions.

Platí pro