Windows Workflow Foundation Activities
Windows Workflow Foundation (WF) includes a default set of activities that provide functionality for control flow, conditions, event handling, state management, and communicating with applications and services. When you design workflows, you can use the activities that are provided by Windows Workflow Foundation, and you can create your own custom activities.
Activities are the fundamental building blocks of workflows. A workflow is a set of activities that are organized hierarchically in a tree structure. An activity represents an action in a workflow. It can be a simple action such as a delay, or it can be a composite activity that consists of several child activities.
An activity, like a workflow, can be sequential, which means that the order of its actions is specified at design time. Or the activity can be event-driven, which means that the order of its actions is determined at run time in response to external events.
Every activity has an activity execution context that represents the execution environment of the activity. An activity execution context is similar to an HTTP context in that an object has a state, a set of parameters, and constructs that are unique to that given object for that given point in time. Certain composite activities, such as ReplicatorActivity activities and WhileActivity activities, create multiple instances of their child activities during execution, and each child activity has its own activity execution context that it runs in. For more information about activity execution contexts, see Understanding the Activity Execution Context.
Every activity also transitions through various states during its lifetime. Some transitions are controlled by the workflow runtime engine, while others can be user-controlled, such as transitioning a child activity from Executing to Closed. For more information about activity states, see Understanding the Activity State Model.
The following table lists the activities in the Windows Workflow Foundation base activity library.
Activity | Description |
---|---|
Used with the HandleExternalEventActivity activity for input and output communications with a local service. For more information, see Using the CallExternalMethodActivity Activity. |
|
Used to contain cleanup logic for a composite activity that is canceled before all the composite activity's child activities are finished executing. For more information, see Using the CancellationHandlerActivity Activity. |
|
Enables you to add Visual Basic or C# code to your workflow. For more information, see Using the CodeActivity Activity. |
|
Compensatable version of SequenceActivity. For more information, see Using the CompensatableSequenceActivity Activity. |
|
Compensatable version of TransactionScopeActivity. For more information, see Using the CompensatableTransactionScopeActivity Activity. |
|
Enables you to call code to undo or to compensate for operations already performed by the workflow when an error occurs. For more information, see Using the CompensateActivity Activity. |
|
Wrapper for one or more activities that perform compensation for a completed TransactionScopeActivity activity. For more information, see Using the CompensationHandlerActivity Activity. |
|
Executes child activities based on a condition that applies to the ConditionedActivityGroup activity itself and based on conditions that apply separately to each child. For more information, see Using the ConditionedActivityGroup Activity. |
|
Enables you to build delays in your workflow based on a time-out interval. For more information, see Using the DelayActivity Activity. |
|
Wraps one or more activities that are executed when a specified event occurs. For more information, see Using the EventDrivenActivity Activity. |
|
Provides a framework for associating events with an activity. For more information, see Using the EventHandlersActivity Activity. |
|
Executes its main child activity concurrently with an EventHandlersActivity activity. For more information, see Using the EventHandlingScopeActivity Activity. |
|
Used to handle an exception of a type that you specify. For more information, see Using the FaultHandlerActivity Activity. |
|
Represents a composite activity that has an ordered list of child activities of type FaultHandlerActivity. For more information, see Using the FaultHandlersActivity Activity. |
|
Used together with the CallExternalMethodActivity activity for input and output communications with a local service. For more information, see Using the HandleExternalEventActivity Activity. |
|
Tests a condition on each branch and performs activities on the first branch for which the condition equals true. For more information, see Using the IfElseActivity Activity. |
|
Represents a branch of an IfElseActivity activity. For more information, see Using the IfElseBranchActivity Activity. |
|
Enables your workflow to invoke a Web service. For more information, see Using the InvokeWebServiceActivity Activity. |
|
Enables your workflow to invoke another workflow. For more information, see Using the InvokeWorkflowActivity Activity. |
|
A composite activity that contains only EventDrivenActivity child activities. For more information, see Using the ListenActivity Activity. |
|
Lets you schedule two or more child SequenceActivity activity branches for processing at the same time. For more information, see Using the ParallelActivity Activity. |
|
Used to represent a collection of rules. A rule consists of conditions and resulting actions. For more information, see Using the PolicyActivity Activity. |
|
Implements a service contract operation using Windows Communication Foundation (WCF). |
|
Creates multiple instances of a single child activity. For more information, see Using the ReplicatorActivity Activity. |
|
Invokes a client-side synchronous operation of a service using Windows Communication Foundation (WCF) . |
|
Provides a simple way to link multiple activities together for sequential execution. For more information, see Using the SequenceActivity Activity. |
|
Specifies a transition to a new state. For more information, see Using the SetStateActivity Activity. |
|
Represents a state in a state machine workflow. For more information, see Using the StateActivity Activity. |
|
Used in a StateActivity activity as a container for child activities executed when leaving the StateActivity activity. For more information, see Using the StateFinalizationActivity Activity. |
|
Used in a StateActivity activity as a container for child activities executed when entering the StateActivity activity. For more information, see Using the StateInitializationActivity Activity. |
|
Suspends the operation of your workflow to enable intervention in the event of some error condition that requires special attention. For more information, see Using the SuspendActivity Activity. |
|
Executes contained activities sequentially in a synchronized domain. For more information, see Using the SynchronizationScopeActivity Activity. |
|
Enables you to immediately end the operation of your workflow in the event of an error condition. For more information, see Using the TerminateActivity Activity. |
|
Enables you to capture business exceptions thrown as part of the process metadata for a workflow. For more information, see Using the ThrowActivity Activity. |
|
Provides a framework for transactions and exception handling. For more information, see Using the TransactionScopeActivity Activity. |
|
Lets you model the occurrence of a Web service fault. For more information, see Using the WebServiceFaultActivity Activity. |
|
Receives data from a Web service. For more information, see Using the WebServiceInputActivity Activity. |
|
Responds to a Web service request made to a workflow. For more information, see Using the WebServiceOutputActivity Activity. |
|
Enables your workflow to loop until a condition is met. For more information, see Using the WhileActivity Activity. |
For information about how to create your own activities, see Developing Windows Workflow Foundation Activities.
In This Section
Understanding the Activity Execution Context
Understanding the Activity State Model
Using the CallExternalMethodActivity Activity
Using the CancellationHandlerActivity Activity
Using the CodeActivity Activity
Using the CompensatableSequenceActivity Activity
Using the CompensatableTransactionScopeActivity Activity
Using the CompensateActivity Activity
Using the CompensationHandlerActivity Activity
Using the ConditionedActivityGroup Activity
Using the DelayActivity Activity
Using the EventDrivenActivity Activity
Using the EventHandlersActivity Activity
Using the EventHandlingScopeActivity Activity
Using the FaultHandlerActivity Activity
Using the FaultHandlersActivity Activity
Using the HandleExternalEventActivity Activity
Using the IfElseActivity Activity
Using the IfElseBranchActivity Activity
Using the InvokeWebServiceActivity Activity
Using the InvokeWorkflowActivity Activity
Using the ListenActivity Activity
Using the ParallelActivity Activity
Using the PolicyActivity Activity
Using the ReplicatorActivity Activity
Using the SequenceActivity Activity
Using the SetStateActivity Activity
Using the StateActivity Activity
Using the StateFinalizationActivity Activity
Using the StateInitializationActivity Activity
Using the SuspendActivity Activity
Using the SynchronizationScopeActivity Activity
Using the TerminateActivity Activity
Using the ThrowActivity Activity
Using the TransactionScopeActivity Activity
Using the WebServiceFaultActivity Activity
Using the WebServiceInputActivity Activity
Using the WebServiceOutputActivity Activity
Using the WhileActivity Activity
Reference
System.Workflow.ComponentModel
Related Sections
Developing Windows Workflow Foundation Activities
Copyright © 2007 by Microsoft Corporation. All rights reserved.
Last Published: 2010-03-04