Export (0) Print
Expand All

WorkflowInstance Class

Note: This API is now obsolete.

Represents a workflow instance.


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

[<ObsoleteAttribute("The System.Workflow.* types are deprecated.  Instead, please use the new types from System.Activities.*")>]
type WorkflowInstance =  class end

The WorkflowInstance type exposes the following members.

Public propertyInstanceIdGets the unique identifier for the workflow instance.
Public propertyWorkflowRuntimeGets the WorkflowRuntime for this workflow instance.

Public methodAbortAborts the workflow instance.
Public methodApplyWorkflowChangesApplies changes to the workflow instance specified by the WorkflowChanges object.
Public methodEnqueueItemPosts a message to the specified workflow queue synchronously.
Public methodEnqueueItemOnIdlePosts a message to the specified workflow queue when the workflow is idle. EnqueueItemOnIdle waits until the workflow reaches an idle point and enqueues after verifying that the workflow scheduler is idle (that is, no active operation is being executed).
Public methodEqualsReturns a value that indicates whether the specified object is equal to the WorkflowInstance. (Overrides Object.Equals(Object).)
Public methodGetHashCodeReturns the hash code for this workflow instance. (Overrides Object.GetHashCode().)
Public methodGetTypeGets the Type of the current instance. (Inherited from Object.)
Public methodGetWorkflowDefinitionRetrieves the root activity for this workflow instance.
Public methodGetWorkflowNextTimerExpirationReturns the next point in time that this WorkflowInstance is scheduled to be delivered a timer message.
Public methodGetWorkflowQueueDataGets a collection of WorkflowQueueInfo objects that contains the pending items and subscribed activities for the workflow queues associated with this workflow instance.
Public methodLoadLoads a previously unloaded workflow instance.
Public methodReloadTrackingProfilesReload the tracking profiles for this workflow instance.
Public methodResumeResumes execution of a previously suspended workflow instance.
Public methodStartStarts the execution of the workflow instance.
Public methodSuspendSuspends the workflow instance.
Public methodTerminateTerminates the workflow instance in a synchronous manner.
Public methodToStringReturns a string that represents the current object. (Inherited from Object.)
Public methodTryUnloadUnloads the workflow instance from memory to the persistence store when the instance is suspended or idle.
Public methodUnloadUnloads the workflow instance from memory to the persistence store. This call blocks until after the currently scheduled work is finished, or the end of a transaction scope.


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

The WorkflowInstance class exposes methods and properties that can be used to control the execution of a workflow instance; it is essentially a proxy to the actual workflow instance used by the workflow runtime engine. A host or a service can instruct the workflow runtime engine to perform actions on a workflow instance by calling the appropriate methods that are contained in the WorkflowInstance class. If the requested action is not valid, for example, if the host calls Load on a workflow instance that has already completed, the workflow runtime engine will raise an appropriate exception.


If a workflow instance becomes unresponsive because a call on the host application does not return, the only way to recover the instance is to restart the runtime. However, if the instance has been forcibly unloaded, aborted, or suspended, it can be continued by calling the WorkflowInstance.Resume method.

The following code example demonstrates how you can create and start a WorkflowInstance in a workflow host. The code creates an instance of the WorkflowRuntime, adds services to the runtime, and then demonstrates the recommended way to create a WorkflowInstance object. The code initializes WorkflowInstance by calling the CreateWorkflow method and passing the previously created type to it. The WorkflowInstance is started with the Start method call.

This code example is part of the Canceling a Workflow SDK sample from the Program.cs file. For more information, see Canceling a Workflow.

No code example is currently available or this language may not be supported.

.NET Framework

Supported in: 4, 3.5, 3.0
Obsolete (compiler warning) in 4.5.2
Obsolete (compiler warning) in 4.5.1
Obsolete (compiler warning) in 4.5

Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

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

This type is thread safe.

© 2014 Microsoft