HasRunnableWorkflowEvent Class

.NET Framework (current version)

The .NET API Reference documentation has a new home. Visit the .NET API Browser on docs.microsoft.com to see the new experience.

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

Namespace:   System.Activities.DurableInstancing
Assembly:  System.Activities (in System.Activities.dll)

public sealed class HasRunnableWorkflowEvent : InstancePersistenceEvent<HasRunnableWorkflowEvent>


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.)


Returns a string that represents the current object.(Inherited from Object.)

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.

.NET Framework
Available since 4.0

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

Return to top