Bagikan melalui


SqlTrackingQueryOptions.StatusMaxDateTime Properti

Definisi

Mendapatkan atau mengatur DateTime yang menentukan batas atas periode waktu yang, bersama dengan WorkflowStatus, digunakan untuk membatasi kumpulan SqlTrackingWorkflowInstance objek yang dikembalikan oleh panggilan ke GetWorkflows(SqlTrackingQueryOptions).

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

Nilai Properti

DateTime yang menentukan batas atas periode waktu yang digunakan untuk mencocokkan instans alur kerja dengan status yang ditentukan oleh WorkflowStatus. Defaultnya adalah DateTime.MinValue.

Contoh

Contoh berikut menunjukkan pengaturan properti StatusMaxDateTime. Contoh ini berasal dari sampel SDK Monitor Alur Kerja. Untuk informasi selengkapnya, lihat Sampel Monitor Alur Kerja.

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

Keterangan

SqlTrackingQueryOptions membatasi kumpulan SqlTrackingWorkflowInstance objek yang dikembalikan oleh panggilan ke SqlTrackingQuery.GetWorkflows instans alur kerja yang memiliki Type yang ditentukan oleh WorkflowType, yang memiliki status yang ditentukan oleh WorkflowStatus selama periode yang ditentukan oleh StatusMinDateTime dan StatusMaxDateTime, dan yang telah mengekstrak data yang cocok dengan setidaknya salah TrackingDataItemValue satu objek yang ditentukan oleh TrackingDataItems.

Nilai DateTime yang ditentukan oleh StatusMaxDateTime bersifat inklusif. Untuk informasi selengkapnya tentang bagaimana status instans alur kerja dicocokkan, lihat WorkflowStatus properti .

Catatan

Jika WorkflowStatus diatur ke null, maka StatusMaxDateTime dan StatusMinDateTime diabaikan. Semua instans alur kerja akan dikembalikan saat GetWorkflows dipanggil.

Berlaku untuk