SqlTrackingQueryOptions.StatusMinDateTime Свойство
Определение
Важно!
Некоторые сведения относятся к предварительной версии продукта, в которую до выпуска могут быть внесены существенные изменения. Майкрософт не предоставляет никаких гарантий, явных или подразумеваемых, относительно приведенных здесь сведений.
Получает или задает структуру DateTime, которая вместе с свойством WorkflowStatus используется для ограничения набор объектов SqlTrackingWorkflowInstance, возвращаемых при вызове метода GetWorkflows(SqlTrackingQueryOptions).
public:
property DateTime StatusMinDateTime { DateTime get(); void set(DateTime value); };
public DateTime StatusMinDateTime { get; set; }
member this.StatusMinDateTime : DateTime with get, set
Public Property StatusMinDateTime As DateTime
Значение свойства
Структура DateTime, указывающая нижний предел временного интервала, используемого для поиска совпадающих экземпляров рабочих процессов, имеющих состояние, указанное в свойстве WorkflowStatus. Значение по умолчанию — DateTime.MinValue.
Примеры
Следующий пример иллюстрирует задание свойства «StatusMinDateTime». Данный пример является частью примера SDK «Workflow Monitor». Дополнительные сведения см. в разделе Пример монитора рабочего процесса.
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);
}
Комментарии
Класс SqlTrackingQueryOptions ограничивает набор объектов SqlTrackingWorkflowInstance, возвращаемых вызовом метода SqlTrackingQuery.GetWorkflows, теми экземплярами рабочего процесса, которые: имеют тип Type, заданный свойством WorkflowType; имеют состояние, заданное свойством WorkflowStatus, в течение периода, заданного свойствами StatusMinDateTime и StatusMaxDateTime; извлекли данные, соответствующие по крайней мере одному из объектов TrackingDataItemValue, заданных свойством TrackingDataItems.
Значение структуры DateTime, указанное в свойстве StatusMinDateTime является включительным. Дополнительные сведения совпадении состояния экземпляра рабочего процесса см. в разделе, посвященном свойству WorkflowStatus.
Примечание
Если элемент WorkflowStatus
имеет значение «null», то элементы StatusMaxDateTime
и StatusMinDateTime
игнорируется. Все экземпляры рабочих процессов будут возвращены при вызове метода GetWorkflows
.