WorkflowRuntimeService Class

Definition

Caution

The System.Workflow.* types are deprecated. Instead, please use the new types from System.Activities.*

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

public ref class WorkflowRuntimeService abstract
public abstract class WorkflowRuntimeService
[System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")]
public abstract class WorkflowRuntimeService
type WorkflowRuntimeService = class
[<System.Obsolete("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")>]
type WorkflowRuntimeService = class
Public MustInherit Class WorkflowRuntimeService
Inheritance
WorkflowRuntimeService
Derived
Attributes

Remarks

Note

This material discusses types and namespaces that are obsolete. For more information, see Deprecated Types in Windows Workflow Foundation 4.5.

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.

Constructors

WorkflowRuntimeService()

When implemented in a derived class, initializes a new instance of the WorkflowRuntimeService class.

Properties

Runtime

Gets the WorkflowRuntime for this service.

State

Gets the state of the WorkflowRuntimeService.

Methods

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)
GetType()

Gets the Type of the current instance.

(Inherited from Object)
MemberwiseClone()

Creates a shallow copy of the current Object.

(Inherited from Object)
OnStarted()

When overridden in a derived class, represents the method that will be called when the workflow runtime engine raises the Started event.

OnStopped()

When overridden in a derived class, represents the method that will be called when the workflow runtime engine raises the Stopped event.

RaiseServicesExceptionNotHandledEvent(Exception, Guid)

Raises the ServicesExceptionNotHandled event.

Start()

When overridden in a derived class, starts the service and changes the State to Starting.

Stop()

When overridden in a derived class, stops the service and changes the State to Stopping.

ToString()

Returns a string that represents the current object.

(Inherited from Object)

Applies to