SqlTrackingQueryOptions.StatusMaxDateTime Eigenschaft

Definition

Ruft DateTime mit der Angabe der Obergrenze des Zeitraums auf oder legt diese Angabe fest. Damit wird in Verbindung mit WorkflowStatus die Reihe der SqlTrackingWorkflowInstance-Objekte eingeschränkt, die durch einen Aufruf von GetWorkflows(SqlTrackingQueryOptions) zurückgegeben werden.

public:
 property DateTime StatusMaxDateTime { DateTime get(); void set(DateTime value); };
public DateTime StatusMaxDateTime { get; set; }
member this.StatusMaxDateTime : DateTime with get, set
Public Property StatusMaxDateTime As DateTime

Eigenschaftswert

DateTime mit der Angabe der Obergrenze des Zeitraums, für den Workflowinstanzen mit einem Status abgeglichen werden, der durch WorkflowStatus angegeben wird. Der Standardwert ist DateTime.MinValue.

Beispiele

Das folgende Beispiel veranschaulicht das Festlegen der StatusMaxDateTime-Eigenschaft. Dieses Beispiel stammt aus dem Workflow Monitor SDK-Beispiel. Weitere Informationen finden Sie unter Beispiel für den Workflowmonitor.

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);
}

Hinweise

SqlTrackingQueryOptions schränkt die Reihe der SqlTrackingWorkflowInstance-Objekte, die durch einen Aufruf von SqlTrackingQuery.GetWorkflows zurückgegeben werden, auf die Workflowinstanzen ein, für die folgende Bedingungen gelten: Type wird durch WorkflowType angegeben, der Status wird durch WorkflowStatus, die Dauer der Einschränkung wird durch StatusMinDateTime und StatusMaxDateTime angegeben, und extrahierte Daten der Workflowinstanzen entsprechen mindesten einem der durch TrackingDataItemValue angegebenen TrackingDataItems-Objekte.

Der von DateTime angegebene StatusMaxDateTime-Wert ist inklusiv. Weitere Informationen zum Abgleich des Status einer Workflowinstanz finden Sie in den Ausführungen zur WorkflowStatus-Eigenschaft.

Hinweis

Wenn WorkflowStatus auf NULL festgelegt ist, werden StatusMaxDateTime und StatusMinDateTime nicht berücksichtigt. Bei einem Aufruf von GetWorkflows werden alle Workflowinstanzen zurückgegeben.

Gilt für: