SqlTrackingService.UseDefaultProfile Property

 

Gets or sets a value specifying whether a default TrackingProfile should be used for workflow types that do not have a tracking profile.

Namespace:   System.Workflow.Runtime.Tracking
Assembly:  System.Workflow.Runtime (in System.Workflow.Runtime.dll)

public bool UseDefaultProfile { get; set; }

Property Value

Type: System.Boolean

true if a default tracking profile should be used; otherwise, false. The default is true.

If UseDefaultProfile is true, the SqlTrackingService will return a default TrackingProfile whenever the workflow runtime engine tries to get a tracking profile for a workflow Type for which the tracking service has no associated TrackingProfile.

The out-of-box default tracking profile matches all activity events, user events, and workflow events emitted by a workflow instance. You can change the default tracking profile by using the UpdateDefaultProfile stored procedure.

System_CAPS_noteNote

The UpdateDefaultProfile stored procedure will change the default tracking profile. This new default profile will be returned when the workflow runtime engine requests a profile for a workflow type for which the tracking service has no associated tracking profile. Workflow types that were previously associated with the old default profile will still be associated with that profile even after UpdateDefaultProfile is called; you must explicitly call the UpdateTrackingProfile stored procedure on any of these workflow types that you want to associate with the new default profile.

While UseDefaultProfile is true, the SqlTrackingService will return the default tracking profile to the workflow runtime engine for any workflow type for which it doesn't have a tracking profile associated in its database. If you later set UseDefaultProfile to false, the default profile will still be associated with these workflow types in the database. You can call the DeleteTrackingProfile stored procedure on a workflow type to no longer associate a tracking profile with that type, or you can call the UpdateTrackingProfile stored procedure on a workflow type to change the tracking profile associated with that type.

System_CAPS_noteNote

The workflow runtime engine caches its tracking profiles. Therefore, it must receive a ProfileRemoved event for any workflow type for which it already has a tracking profile associated in its cache before it will stop using its cached profile for new instances of that workflow type. Likewise, the workflow runtime engine must receive a ProfileUpdated event for such workflow types before it will load a new tracking profile into its cache to associate with new instances of the workflow type. The SqlTrackingService raises the appropriate events for applicable workflow types when it examines the database for changes to its tracking profiles. The frequency at which the SqlTrackingService performs this operation is set by ProfileChangeCheckInterval. Therefore, whenever you call the UpdateTrackingProfile or DeleteTrackingProfile stored procedures there may be a delay of up to the period specified by ProfileChangeCheckInterval before the workflow runtime engine will reflect your changes in its profile cache.

For more information about tracking profiles, see Creating and Using Tracking Profiles.

.NET Framework
Available since 3.0
Return to top
Show: