Note: This API is now obsolete.
Represents a tracking service that uses a SQL database to store tracking information.
Assembly: System.Workflow.Runtime (in System.Workflow.Runtime.dll)
Thetype exposes the following members.
|ConnectionString||Gets the connection string for the tracking database.|
|EnableRetries||Gets and sets a value specifying whether the will retry when performing a database operation.|
|IsTransactional||Gets or sets a value that indicates whether participates in workflow transactions.|
|PartitionOnCompletion||Gets or sets a value that specifies whether tracking data for a workflow instance should be moved to the currently active partition in the database when the workflow instance is completed.|
|ProfileChangeCheckInterval||Gets or sets a value that specifies the interval at which the database should be checked for changes to one or more of its tracking profiles.|
|UseDefaultProfile||Gets or sets a value specifying whether a default TrackingProfile should be used for workflow types that do not have a tracking profile.|
|Equals(Object)||Determines whether the specified object is equal to the current object. (Inherited from Object.)|
|GetHashCode||Serves as the default hash function. (Inherited from Object.)|
|GetProfile(Guid)||Must be overridden in the derived class, and when implemented, returns the tracking profile for the specified workflow instance. (Inherited from TrackingService.)|
|GetProfile(Type, Version)||Must be overridden in the derived class, and when implemented, returns the tracking profile, qualified by version, for the specified workflow Type. (Inherited from TrackingService.)|
|GetTrackingChannel||Must be overridden in the derived class, and when implemented, returns the channel that the run-time tracking infrastructure uses to send tracking records to the tracking service. (Inherited from TrackingService.)|
|GetType||Gets the Type of the current instance. (Inherited from Object.)|
|Start||When overridden in a derived class, starts the service and changes the State to Starting. (Inherited from WorkflowRuntimeService.)|
|Stop||When overridden in a derived class, stops the service and changes the State to Stopping. (Inherited from WorkflowRuntimeService.)|
|ToString||Returns a string that represents the current object. (Inherited from Object.)|
|TryGetProfile||Must be overridden in the derived class, and when implemented, retrieves the tracking profile for the specified workflow type if one is available. (Inherited from TrackingService.)|
|TryReloadProfile||Must be overridden in the derived class, and when implemented, retrieves a new tracking profile for the specified workflow instance if the tracking profile has changed since it was last loaded. (Inherited from TrackingService.)|
This material discusses types and namespaces that are obsolete. For more information, see Deprecated Types in Windows Workflow Foundation 4.5.
The class represents a fully functional tracking service. You can use this service out-of-box to collect and store tracking information, and to store tracking profiles and provide them when requested by the workflow runtime engine. The SQL tracking service writes tracking data sent to it by the runtime tracking infrastructure to a SQL database.
In many scenarios it is important for the to maintain consistency between its database and the state of the workflow runtime engine. Therefore, the SqlTrackingChannel class makes use of the IPendingWork interface to participate in the workflow transaction batching functionality provided by the WorkflowCommitWorkBatchService. You can set IsTransactional or pass the appropriate parameters to the constructor to configure the to participate in batching and add objects that represent pending changes to the SQL database to the WorkBatch.
The also maintains tracking profiles in its database. The workflow runtime engine must be kept apprised of changes to any of the tracking profiles that it is using. The implements the IProfileNotification interface and periodically examines the tracking profiles in its database in order to notify the workflow runtime engine of changes to a TrackingProfile stored in its database. You can set ProfileChangeCheckInterval or pass the appropriate parameter to the constructor in order to set the interval at which the examines its tracking profiles to notify the tracking runtime of any profile changes.
When using both the and the SqlWorkflowPersistenceService in a workflow application, it is recommended that you use a single database for both persistence and tracking.