Skip to main content
.NET Framework Class Library
SqlTrackingWorkflowInstance Class

Provides access to tracking data maintained in a SQL database by the SqlTrackingService for a workflow instance.

Inheritance Hierarchy
System..::.Object
  System.Workflow.Runtime.Tracking..::.SqlTrackingWorkflowInstance

Namespace: System.Workflow.Runtime.Tracking
Assembly: System.Workflow.Runtime (in System.Workflow.Runtime.dll)
Syntax
Public Class SqlTrackingWorkflowInstance
public class SqlTrackingWorkflowInstance
public ref class SqlTrackingWorkflowInstance
type SqlTrackingWorkflowInstance =  class end

The SqlTrackingWorkflowInstance type exposes the following members.

Properties
 NameDescription
Public propertyActivityEventsGets the list of activity tracking records that have been sent for this workflow instance to a SqlTrackingService database by the run-time tracking infrastructure.
Public propertyAutoRefreshGets or sets a value that specifies whether property data for this SqlTrackingWorkflowInstance should be automatically updated when it is accessed.
Public propertyInitializedGets or sets a DateTime that indicates the time at which the first TrackingChannel for this workflow instance was requested by the workflow run-time engine.
Public propertyInvokedWorkflowsGets a list of SqlTrackingWorkflowInstance objects that correspond to workflows that have been invoked by this workflow.
Public propertyInvokingWorkflowInstanceIdGets or sets the Guid of the workflow instance that invoked this workflow instance.
Public propertyStatusGets the status of the workflow instance.
Public propertyUserEventsGets the list of user tracking records that have been sent for this workflow instance to a SqlTrackingService database by the run-time tracking infrastructure.
Public propertyWorkflowDefinitionGets an Activity that represents the current workflow definition for the workflow instance.
Public propertyWorkflowDefinitionUpdatedGets a value that indicates whether the workflow has been updated since the last time WorkflowDefinition was loaded.
Public propertyWorkflowEventsGets the list of workflow tracking records that have been sent for this workflow instance to a SqlTrackingService database by the run-time tracking infrastructure.
Public propertyWorkflowInstanceIdThe Guid of the workflow instance for which this SqlTrackingWorkflowInstance applies.
Public propertyWorkflowInstanceInternalIdGets or sets a number that can be used to find related records in separate views for this workflow instance.
Public propertyWorkflowTypeGets and sets the Type of the workflow instance.
Top
Methods
 NameDescription
Public methodEquals(Object)Determines whether the specified Object is equal to the current Object. (Inherited from Object.)
Protected methodFinalizeAllows an object to try to free resources and perform other cleanup operations before it is reclaimed by garbage collection. (Inherited from Object.)
Public methodGetHashCodeServes as a hash function for a particular type. (Inherited from Object.)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Protected methodMemberwiseCloneCreates a shallow copy of the current Object. (Inherited from Object.)
Public methodRefreshUpdates the property data for this SqlTrackingWorkflowInstance.
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)
Top
Remarks

SqlTrackingWorkflowInstance objects are returned by a call to both SqlTrackingQuery..::.TryGetWorkflow and SqlTrackingQuery..::.GetWorkflows and provide access to the tracking data maintained in a SQL database by the SqlTrackingService for a specific workflow instance. The SqlTrackingWorkflowInstance class optimizes its access to the database for its properties, which maintain collections. For more information, seeRefresh.

Examples

The following code example shows how to obtain information about all SqlTrackingWorkflowInstance objects contained in a list of displayed workflows. The code creates a ListViewItem for each SqlTrackingWorkflowInstance found in a displayedWorkflows variable. Each ListViewItem contains a string representation of the WorkflowInstanceInternalId, the WorkflowType and Status properties. It then adds the item to a workflowStatusList. The code uses the previously named property values and a string version of the Initialized property to create a new WorkflowStatusInfo object that is also added to the workflowStatusList.

This code example is part of the Workflow Monitor SDK Sample from the Mainform.cs file. For more information, seeWorkflow Monitor.


' For every workflow instance create a new WorkflowStatusInfo object and store in the workflowStatusList
' Also populate the workflow ListView
' For every workflow instance create a new WorkflowStatusInfo object and store in the workflowStatusList
' Also populate the workflow ListView
For Each sqlTrackingWorkflowInstance As SqlTrackingWorkflowInstance In displayedWorkflows
    Dim listViewItem As ListViewItem = New ListViewItem(New String() { _
        sqlTrackingWorkflowInstance.WorkflowInstanceInternalId.ToString(), _
        sqlTrackingWorkflowInstance.WorkflowType.ToString(), _
        sqlTrackingWorkflowInstance.Status.ToString()}, -1)

    listViewWorkflows.Items.Add(listViewItem)

    workflowStatusList.Add(sqlTrackingWorkflowInstance.WorkflowInstanceInternalId.ToString(), _
                New WorkflowStatusInfo( _
                    sqlTrackingWorkflowInstance.WorkflowInstanceInternalId.ToString(), _
                    sqlTrackingWorkflowInstance.WorkflowType.ToString(), _
                    sqlTrackingWorkflowInstance.Status.ToString(), _
                    sqlTrackingWorkflowInstance.Initialized.ToString(), _
                    sqlTrackingWorkflowInstance.WorkflowInstanceId, _
                    listViewItem))
Next


// For every workflow instance create a new WorkflowStatusInfo object and store in the workflowStatusList
// Also populate the workflow ListView
foreach (SqlTrackingWorkflowInstance sqlTrackingWorkflowInstance in displayedWorkflows)
{
    ListViewItem listViewItem = new ListViewItem(new string[] {
            sqlTrackingWorkflowInstance.WorkflowInstanceInternalId.ToString(),
            sqlTrackingWorkflowInstance.WorkflowType.ToString(),
            sqlTrackingWorkflowInstance.Status.ToString()}, -1);

    listViewWorkflows.Items.Add(listViewItem);

    workflowStatusList.Add(sqlTrackingWorkflowInstance.WorkflowInstanceInternalId.ToString(),
            new WorkflowStatusInfo(
                sqlTrackingWorkflowInstance.WorkflowInstanceInternalId.ToString(),
                sqlTrackingWorkflowInstance.WorkflowType.ToString(),
                sqlTrackingWorkflowInstance.Status.ToString(),
                sqlTrackingWorkflowInstance.Initialized.ToString(),
                sqlTrackingWorkflowInstance.WorkflowInstanceId,
                listViewItem));
}

Version Information

.NET Framework

Supported in: 4, 3.5, 3.0
Platforms

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Thread Safety
Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.