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

Nullable<WorkflowStatus>

Jedna z WorkflowStatus hodnot nebo null (Nothingv 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ích postupů. Další informace naleznete 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

SqlTrackingQueryOptions omezuje sadu SqlTrackingWorkflowInstance objektů vrácených voláním na SqlTrackingQuery.GetWorkflows tyto instance pracovního postupu, které mají Type určený WorkflowType, které mají stav určený WorkflowStatus během zadaného StatusMinDateTime období a StatusMaxDateTimea které extrahovali data, která odpovídají alespoň jednomu z TrackingDataItemValue objektů určených TrackingDataItems.

Instance pracovního postupu je považována za stav, který odpovídá WorkflowStatus , pokud poslední WorkflowTrackingRecord přijatý pro danou instanci pracovního postupu před nebo během zadaného časového období má jeho WorkflowTrackingRecord.TrackingWorkflowEvent vlastnost nastavena TrackingWorkflowEvent na hodnotu, která se mapuje na hodnotu určenou System.Workflow.Runtime.WorkflowStatus WorkflowStatus. TrackingProfile Proto musí mít instance pracovního postupu nakonfigurovanou WorkflowTrackPoint odpovídající System.Workflow.Runtime.Tracking.TrackingWorkflowEvent hodnotu. Shodovat se dají jenom 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.

Hodnota TrackingWorkflowEvent 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), sada vrácených SqlTrackingWorkflowInstance objektů nebude omezena stavem. Jinými slovy, SqlTrackingWorkflowInstance objekt se vrátí pro libovolnou instanci pracovního postupu, která odpovídá parametrům zadaným jinými vlastnostmi SqlTrackingQueryOptions.

Platí pro