What Are Runtime Services in Windows Workflow (WF)?

WF provides predefined services that perform tasks such as persisting idle workflow instances to a storage medium, tracking the execution of workflow instances, and managing the exchange of data between workflows and the host application. The following describes the predefined service classes in the WF framework

WorkflowRuntimeService
The WorkflowRuntimeService class is an abstract base class from which all service classes inherit. It provides several methods and properties, and you should extend this class if you want to add completely new service functionality. If you want to refine or change existing functionality in one of the other service classes, it may be beneficial to extend that service class instead.

ExternalDataExchangeService
The ExternalDataExchangeService class enables local communication between a workflow and its host application, such as method invocation and event handling.

WorkflowCommitWorkBatchService
The WorkflowCommitWorkBatchService class is an abstract base class for services that customize the way in which work batches are committed.

WorkflowLoaderService
The WorkflowLoaderService class is an abstract base class for workflow loader services. A loader service is responsible for loading workflow instances into the workflow runtime engine.

WorkflowPersistenceService
The WorkflowPersistenceService class is an abstract base class for persistence services. A persistence service is responsible for saving and restoring the state of a workflow to a data store.

WorkflowSchedulerService
The WorkflowSchedulerService class is an abstract base class for scheduler services. A scheduler service enables you to implement your own thread pool to execute a workflow and manage in-memory timer registration and events.

TrackingService
The TrackingService class is an abstract base class for tracking services. A tracking service writes tracking data to a data store to indicate the path of execution for workflows.

For more information about the predefined service classes, see System.Workflow.Runtime.Hosting Namespace, ExternalDataExchangeService Class, and TrackingService Class

Tags: