This documentation is archived and is not being maintained.

WorkflowRuntimeService Class

The abstract base class from which the workflow runtime engine core services are derived.

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

public abstract class WorkflowRuntimeService

Services that derive from the WorkflowRuntimeService class can be started and stopped by the workflow runtime engine. The order in which the services are started or stopped, however, is indeterminate, and services may require the support of other services in order to properly initialize themselves when they are started, and, conversely, may require the to support of other services in order to properly shut down when they are stopped. To address this problem, the workflow runtime engine provides two-phase mechanisms for starting and stopping services. When StartRuntime is called, the workflow runtime engine invokes the Start method for each of its services that derive from the WorkflowRuntimeService class. After all of these services have been started, the workflow runtime engine raises the WorkflowRuntime.Started event, which causes the OnStarted method to be invoked for each workflow runtime engine service. Your service can override the OnStarted method to participate in this two phase process. Similarly, when StopRuntime is called, the Stop method, the WorkflowRuntime.Stopped event, and the OnStopped method provide this two-phase mechanism. The State property contains a WorkflowRuntimeServiceState value that indicates whether the service is in the process of starting or stopping or is completely started or stopped.

Services that derive from the WorkflowRuntimeService class can raise the WorkflowRuntime.ServicesExceptionNotHandled event when they encounter a condition that causes an unhandled exception by calling RaiseServicesExceptionNotHandledEvent.

Services derived from the WorkflowSchedulerService class, the WorkflowCommitWorkBatchService class, the WorkflowPersistenceService class, and the TrackingService class ultimately derives from the WorkflowRuntimeService class.

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

Windows 7, Windows Vista, Windows XP SP2, Windows Server 2008 R2, Windows Server 2008, Windows Server 2003

The .NET Framework and .NET Compact Framework do not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.

.NET Framework

Supported in: 3.5, 3.0