SqlTrackingQueryOptions.WorkflowStatus Özellik
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
çağrısı GetWorkflows(SqlTrackingQueryOptions)tarafından WorkflowStatus döndürülen nesne kümesini SqlTrackingWorkflowInstance kısıtlamak için kullanılan değeri alır veya ayarlar.
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)
Özellik Değeri
Değerlerden WorkflowStatus biri veya null (Nothing
Visual Basic'te). Varsayılan değer null (Nothing
).
Örnekler
Aşağıdaki örnekte WorkflowStatus özelliğinin ayarlanması gösterilmektedir. Bu örnek İş Akışı İzleyicisi SDK örneğinden alınmalıdır. Daha fazla bilgi için bkz . İş Akışı İzleyicisi Örneği.
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);
}
Açıklamalar
SqlTrackingQueryOptionstarafından belirtilen ve tarafından belirtilen süre boyunca belirtilen duruma sahip Type olan ve tarafından belirtilen WorkflowTypeWorkflowStatus nesnelerden en az biriyle TrackingDataItemValue eşleşen verileri ayıklayan bu iş akışı örneklerine yapılan çağrı SqlTrackingQuery.GetWorkflows tarafından StatusMinDateTimeStatusMaxDateTimedöndürülen nesne TrackingDataItemskümesini SqlTrackingWorkflowInstance kısıtlar.
Bir iş akışı örneğinin, belirtilen süre WorkflowTrackingRecord.TrackingWorkflowEvent içinde veya öncesinde bu iş akışı örneği için en son WorkflowTrackingRecord alınan değerinin özelliği tarafından WorkflowStatusbelirtilen değerle eşlenmiş bir TrackingWorkflowEvent değere ayarlanmışsa, durumuyla System.Workflow.Runtime.WorkflowStatus eşleşir WorkflowStatus olarak kabul edilir. Bu nedenle, TrackingProfile iş akışı örneği için uygun System.Workflow.Runtime.Tracking.TrackingWorkflowEvent değer için yapılandırılmış bir WorkflowTrackPoint olmalıdır. Yalnızca TrackingWorkflowEvent iş akışı izleme kayıtlarında gönderilen değerler eşleştirilebilir. İş akışı örneği için hiçbir iş akışı izleme kaydı gönderilmediyse, iş akışı örneğinin durumu WorkflowStatus.Createdolarak kabul edilir.
Aşağıdaki tabloda, değerler ve WorkflowStatus değerler arasındaki TrackingWorkflowEvent eşleme gösterilmektedir.
TrackingWorkflowEvent değeri | WorkflowStatus değeri |
---|---|
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 |
null () iseWorkflowStatus, döndürülen nesne kümesi SqlTrackingWorkflowInstance durumla kısıtlanmaz; başka bir deyişle, diğer özellikleri SqlTrackingQueryOptionstarafından belirtilen parametrelerle eşleşen herhangi bir iş akışı örneği için bir SqlTrackingWorkflowInstance nesne döndürülürNothing
.