Interface IWorkflowManager
Interface a class acting as a Host for Workflow must implement.
Namespace: EPiServer.WorkflowFoundation.Interfaces
Assembly: EPiServer.WorkflowFoundation.dll
Version: 7.19.2Syntax
public interface IWorkflowManagerRemarks
Class implementing this interface and will act as workflow engine must have a public parameterless constructor.
Properties
DefinitionHandler
Gets a handle to the definition handler
Declaration
IDefinitionHandler DefinitionHandler { get; }Property Value
| Type | Description | 
|---|---|
| IDefinitionHandler | 
Remarks
That is the component that handles workflow definitions
InstanceHandler
Gets a handle to the instance handler
Declaration
IInstanceHandler InstanceHandler { get; }Property Value
| Type | Description | 
|---|---|
| IInstanceHandler | 
Remarks
That is the component that handles workflow instances
IsStarted
States wether runtime is started
Declaration
bool IsStarted { get; }Property Value
| Type | Description | 
|---|---|
| System.Boolean | 
Methods
GetAllServices(Type)
Gets all registered service of a certain type (can be registered in web.config)
Declaration
ReadOnlyCollection<object> GetAllServices(Type serviceType)Parameters
| Type | Name | Description | 
|---|---|---|
| System.Type | serviceType | The type of the service | 
Returns
| Type | Description | 
|---|---|
| System.Collections.ObjectModel.ReadOnlyCollection<System.Object> | The instance of the service loaded in Workflow runtime | 
GetService(Type)
Gets an registered service, i.e. an custom service registered with ExchangeDataService which custom communication with Workflow instance can be performed
Declaration
object GetService(Type serviceType)Parameters
| Type | Name | Description | 
|---|---|---|
| System.Type | serviceType | The type of the service | 
Returns
| Type | Description | 
|---|---|
| System.Object | The instance of the service loaded in Workflow runtime | 
GetService<T>()
Gets an registered service of specified generic type, i.e. an custom service registered with ExchangeDataService which custom communication with Workflow instance can be performed
Declaration
T GetService<T>()Returns
| Type | Description | 
|---|---|
| T | The instance of the service loaded in Workflow runtime | 
Type Parameters
| Name | Description | 
|---|---|
| T | 
Initialize(Boolean)
Initializes component, should be called before usage. Here is where services are added to runtime
Declaration
void Initialize(bool lazyLoading)Parameters
| Type | Name | Description | 
|---|---|---|
| System.Boolean | lazyLoading | if set to  | 
RegisterExternalExchangeDataService(Object)
Registers custom type with ExternalDataExchangeService
Declaration
void RegisterExternalExchangeDataService(object externalExchangeDataService)Parameters
| Type | Name | Description | 
|---|---|---|
| System.Object | externalExchangeDataService | custom service to register | 
Remarks
To communicate with custom activities deriving from System.Workflow.Activities.HandleExternalEventActivity a class implementing an interface marked with ExternalDataExchange attribute should be supplied
RegisterService(Object)
Register the service to the Rutime service collection
Declaration
void RegisterService(object service)Parameters
| Type | Name | Description | 
|---|---|---|
| System.Object | service | The service. | 
RegisterType(Type)
Registers an external type with the TypeProvider
Declaration
void RegisterType(Type type)Parameters
| Type | Name | Description | 
|---|---|---|
| System.Type | type | the type to register | 
RemoveService(Object)
Removes a registered service
Declaration
void RemoveService(object service)Parameters
| Type | Name | Description | 
|---|---|---|
| System.Object | service | The service to remove | 
StartRuntime()
Starts the Workflow runtime
Declaration
void StartRuntime()Remarks
This is where event listening from DataFactory and file system is setup
StopRuntime()
Stops the Workflow runtime
Declaration
void StopRuntime()UnregisterType(Type)
unregisters an external type with the TypeProvider
Declaration
void UnregisterType(Type type)Parameters
| Type | Name | Description | 
|---|---|---|
| System.Type | type | the type to unregister | 
Events
FileSystemRelatedEvent
Occurrs when a FileSystem related event occurs from EPiServer file system. It is also possible to start new workflow instance and pass arguments to instance by setting properties on argument class.
Declaration
event EventHandler<FileSystemRelatedEventArgs> FileSystemRelatedEventEvent Type
| Type | Description | 
|---|---|
| System.EventHandler<FileSystemRelatedEventArgs> | 
Examples
Shows how event can be used to start new workflow instance
PageRelatedEvent
Occurrs when a page related event occurs from DataFactory. Gives chance to cancel event by setting CancelAction to true. It is also possible to start new workflow instance and pass arguments to instance by setting properties on argument class.
Declaration
event EventHandler<PageRelatedEventArgs> PageRelatedEventEvent Type
| Type | Description | 
|---|---|
| System.EventHandler<PageRelatedEventArgs> | 
Remarks
CancelAction has not meaning for all events
Examples
Shows how event can be used to start new workflow instance
RuntimeStarted
Occurrs when the Workflow runtime is started
Declaration
event EventHandler<WorkflowRuntimeEventArgs> RuntimeStartedEvent Type
| Type | Description | 
|---|---|
| System.EventHandler<System.Workflow.Runtime.WorkflowRuntimeEventArgs> | 
RuntimeStopped
Occurrs when the Workflow runtime is stopped
Declaration
event EventHandler<WorkflowRuntimeEventArgs> RuntimeStoppedEvent Type
| Type | Description | 
|---|---|
| System.EventHandler<System.Workflow.Runtime.WorkflowRuntimeEventArgs> | 
ServicesExceptionNotHandled
Occurrs when a registered service throws an unhandled exception
Declaration
event EventHandler<ServicesExceptionNotHandledEventArgs> ServicesExceptionNotHandledEvent Type
| Type | Description | 
|---|---|
| System.EventHandler<System.Workflow.Runtime.ServicesExceptionNotHandledEventArgs> | 
WorkflowAborted
Occurrs when a Workflow instance is aborted
Declaration
event EventHandler<WorkflowEventArgs> WorkflowAbortedEvent Type
| Type | Description | 
|---|---|
| System.EventHandler<System.Workflow.Runtime.WorkflowEventArgs> | 
WorkflowCompleted
Occurrs when a Workflow instance is completed
Declaration
event EventHandler<WorkflowCompletedEventArgs> WorkflowCompletedEvent Type
| Type | Description | 
|---|---|
| System.EventHandler<System.Workflow.Runtime.WorkflowCompletedEventArgs> | 
Remarks
It is possible to get the corresponding WorkflowDefinitionInstance in this event. It will though not be possible to edit it since it will be removed
Examples
Example on how completed event can be used
WorkflowCreated
Occurrs when a Workflow instance is created
Declaration
event EventHandler<WorkflowEventArgs> WorkflowCreatedEvent Type
| Type | Description | 
|---|---|
| System.EventHandler<System.Workflow.Runtime.WorkflowEventArgs> | 
WorkflowIdled
Occurrs when a Workflow instance is idled
Declaration
event EventHandler<WorkflowEventArgs> WorkflowIdledEvent Type
| Type | Description | 
|---|---|
| System.EventHandler<System.Workflow.Runtime.WorkflowEventArgs> | 
WorkflowLoaded
Occurrs when a Workflow instance is loaded
Declaration
event EventHandler<WorkflowEventArgs> WorkflowLoadedEvent Type
| Type | Description | 
|---|---|
| System.EventHandler<System.Workflow.Runtime.WorkflowEventArgs> | 
WorkflowPersisted
Occurrs when a Workflow instance is peristed
Declaration
event EventHandler<WorkflowEventArgs> WorkflowPersistedEvent Type
| Type | Description | 
|---|---|
| System.EventHandler<System.Workflow.Runtime.WorkflowEventArgs> | 
WorkflowResumed
Occurrs when a Workflow instance is resumed
Declaration
event EventHandler<WorkflowEventArgs> WorkflowResumedEvent Type
| Type | Description | 
|---|---|
| System.EventHandler<System.Workflow.Runtime.WorkflowEventArgs> | 
WorkflowStarted
Occurrs when a Workflow instance is started
Declaration
event EventHandler<WorkflowEventArgs> WorkflowStartedEvent Type
| Type | Description | 
|---|---|
| System.EventHandler<System.Workflow.Runtime.WorkflowEventArgs> | 
WorkflowSuspended
Occurrs when a Workflow instance is suspended
Declaration
event EventHandler<WorkflowSuspendedEventArgs> WorkflowSuspendedEvent Type
| Type | Description | 
|---|---|
| System.EventHandler<System.Workflow.Runtime.WorkflowSuspendedEventArgs> | 
WorkflowTerminated
Occurrs when a Workflow instance is terminated
Declaration
event EventHandler<WorkflowTerminatedEventArgs> WorkflowTerminatedEvent Type
| Type | Description | 
|---|---|
| System.EventHandler<System.Workflow.Runtime.WorkflowTerminatedEventArgs> | 
Remarks
It is possible to get the corresponding WorkflowDefinitionInstance in this event. It will though not be possible to edit it since it will be deleted
Examples
Example on how terminated event can be used to clean up
WorkflowUnloaded
Occurrs when a Workflow instance is Unloaded
Declaration
event EventHandler<WorkflowEventArgs> WorkflowUnloadedEvent Type
| Type | Description | 
|---|---|
| System.EventHandler<System.Workflow.Runtime.WorkflowEventArgs> | 
