HasRunnableWorkflowEvent Class


Represents an event that the SQL Workflow Instance Store raises to notify workflow hosts about the existence of runnable instances in the persistence database.

public ref class HasRunnableWorkflowEvent sealed : System::Runtime::DurableInstancing::InstancePersistenceEvent<System::Activities::DurableInstancing::HasRunnableWorkflowEvent ^>
public sealed class HasRunnableWorkflowEvent : System.Runtime.DurableInstancing.InstancePersistenceEvent<System.Activities.DurableInstancing.HasRunnableWorkflowEvent>
type HasRunnableWorkflowEvent = class
    inherit InstancePersistenceEvent<HasRunnableWorkflowEvent>
Public NotInheritable Class HasRunnableWorkflowEvent
Inherits InstancePersistenceEvent(Of HasRunnableWorkflowEvent)


An instance is runnable, if it is not in the suspended state or the completed state and satisfies the following conditions:

  • The instance is unlocked and has a pending timer that has expired.

  • The instance is unlocked and its status is Executing.

  • The instance has an invalid lock on it.

An instance store should periodically search for runnable instances that belong to a workflow host that uses the store. It should raise the HasRunnableWorkflowEvent when it finds a runnable instance in the persistence store that matches its workflow host type. If the instance store does not find a runnable instance in the persistence store, it should continue to monitor the persistence store for any runnable instances.

After raising the HasRunnableWorkflowEvent, the instance store should stop monitoring the persistence store for runnable instances until it receives and executes the TryLoadRunnableWorkflowCommand. The monitoring continues only if the TryLoadRunnableWorkflowCommand execution does not return any runnable instances.

When a workflow host receives the HasRunnableWorkflowEvent, it executes the TryLoadRunnableWorkflowCommand against the instance store to load the instance into the memory.



Initializes an instance of the HasRunnableWorkflowEvent class.



Returns the XName (namespace combined with name) of the persistence event.

(Inherited from InstancePersistenceEvent)



Determines whether the current InstancePersistenceEvent object and the passed InstancePersistenceEvent object are the same.

(Inherited from InstancePersistenceEvent)

Determines whether the current InstancePersistenceEvent object and the passed object converted as the InstancePersistenceEvent are the same.

(Inherited from InstancePersistenceEvent)

Returns the hash code for the InstancePersistenceEvent instance.

(Inherited from InstancePersistenceEvent)

Gets the Type of the current instance.

(Inherited from Object)

Creates a shallow copy of the current Object.

(Inherited from Object)

Returns a string that represents the current object.

(Inherited from Object)

Applies to