SqlTrackingQueryOptions.WorkflowStatus Vlastnost
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
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.