Aracılığıyla paylaş


SqlTrackingQueryOptions.WorkflowStatus Özellik

Tanım

ç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.

Şunlara uygulanır