SqlTrackingQueryOptions.WorkflowStatus Właściwość
Definicja
Ważne
Niektóre informacje odnoszą się do produktu w wersji wstępnej, który może zostać znacząco zmodyfikowany przed wydaniem. Firma Microsoft nie udziela żadnych gwarancji, jawnych lub domniemanych, w odniesieniu do informacji podanych w tym miejscu.
Pobiera lub ustawia WorkflowStatus wartość używaną do ograniczenia zestawu SqlTrackingWorkflowInstance obiektów zwracanych przez wywołanie metody 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)
Wartość właściwości
WorkflowStatus Jedna z wartości lub wartości null (Nothing
w Visual Basic). Wartość domyślna to null (Nothing
).
Przykłady
W poniższym przykładzie pokazano ustawienie właściwości WorkflowStatus. Ten przykład pochodzi z przykładowego zestawu SDK monitora przepływu pracy. Aby uzyskać więcej informacji, zobacz Przykład monitora przepływu pracy.
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);
}
Uwagi
SqlTrackingQueryOptions ogranicza zestaw SqlTrackingWorkflowInstance obiektów zwracanych przez wywołanie do SqlTrackingQuery.GetWorkflows tych wystąpień przepływu pracy, które mają Type określony przez WorkflowType, które mają stan określony przez , w okresie określonym przez WorkflowStatusStatusMinDateTime i StatusMaxDateTime, oraz, które wyodrębniły dane zgodne z co najmniej jednym z TrackingDataItemValue obiektów określonych przez TrackingDataItems.
Wystąpienie przepływu pracy jest uznawane za mające stan zgodny WorkflowStatus , jeśli ostatnio WorkflowTrackingRecord odebrane dla tego wystąpienia przepływu pracy przed lub w określonym przedziale czasu ma właściwość WorkflowTrackingRecord.TrackingWorkflowEvent ustawioną TrackingWorkflowEvent na wartość, która jest mapowany na System.Workflow.Runtime.WorkflowStatus wartość określoną przez WorkflowStatus. TrackingProfile W związku z tym dla wystąpienia przepływu pracy musi mieć WorkflowTrackPoint wartość skonfigurowaną dla odpowiedniej System.Workflow.Runtime.Tracking.TrackingWorkflowEvent wartości. Można dopasować tylko TrackingWorkflowEvent wartości, które zostały wysłane w rekordach śledzenia przepływu pracy. Jeśli dla wystąpienia przepływu pracy nie wysłano żadnych rekordów śledzenia przepływu pracy, wystąpienie przepływu pracy jest uznawane za mające stan WorkflowStatus.Created.
W poniższej tabeli przedstawiono mapowanie między wartościami i WorkflowStatus wartościamiTrackingWorkflowEvent.
Wartość TrackingWorkflowEvent | Wartość 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 |
Jeśli WorkflowStatus parametr ma wartość null (Nothing
), zwracany zestaw SqlTrackingWorkflowInstance obiektów nie będzie ograniczany przez stan; innymi słowy, SqlTrackingWorkflowInstance obiekt zostanie zwrócony dla każdego wystąpienia przepływu pracy zgodnego z parametrami określonymi przez inne właściwości SqlTrackingQueryOptionsklasy .