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

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.

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

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

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.

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.

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.

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