The Problem SolverWIndows Workflow Foundation
HomeShow ChangesEditPrintRecent ChangesSubscriptionsLost and FoundFind ReferencesRename



28-8-2008 09:31:1511-8-2008 21:03:1227-1-2008 16:49:3628-10-2006 10:09:0428-10-2006 10:08:30

List all versions

Sql Tracking Service

This implementation stores the tracking profiles and data to SQL Server/MSDE. The service supports the following:

  • Participates in workflow transactions by default; the behavior is controlled by the SqlTrackingService IsTransactional property.
  • Provides a mechanism to use default tracking profiles for all types or associate tracking profiles per workflow types, or workflow instances.
  • Supports data maintenance by providing live and on-demand partitioning functionality.

In addition, WF provides SqlTrackingQuery APIs that you can use to query the tracking data stored in the SqlTrackingService.

Set the PartitionOnCompletion to true to enable automatic archive tracking data.

If you are tracking the progress of events in a workflow using a SqlTrackingService object you might have noticed you aren't seeing any events in the database until the workflow is either finished or unloaded. In fact you won't get to see any event until the WorkflowPersisted event has fired. The reason for this is that the default for the SqlTrackingService is to be transactional. Even though the docs claim the default for the SqlTrackingService IsTransactional is false in fact it is true. This results in the records being written to the database but you won't see them when querying because they are still locked in a transaction. So if you need or want to see the up-to-date events while the workflow is still executing you need to set the SqlTrackingService.IsTransactional to false before adding the service to the WorkflowRuntime.

Wiki Usage

This wiki site is supposed to be a shared resource. As a shared resource everyone is encouraged to add new content or modify existing content!

Enjoy the WF wiki.

Recent Topics