Windows Workflow Foundation (WF) FAQ
This page contains links to Frequently Asked Question related to Windows Workflow Foundation.
- Windows Workflow Foundation is too long to type everytime I want to refer to it. What is an acceptable abbreviation?
WF is an acceptable abbreviation for Windows Workflow Foundation. WWF is not acceptable because it is a registered trademark of the World Wildlife Fund (external link).
- Where can I go to learn how to get started with WF?
If you have Microsoft Visual Studio 2010 then you are ready to get started. The Windows Workflow Foundation (WF) Overview wiki page has links to getting started guides, tutorials, videos, documentation, as well as community resources for getting started with WF. If you have only enough time to read one article, The Workflow Way: Understanding Windows Workflow Foundation on MSDN is a good starting place. If you wanted to jump right into some code, try the Getting Started Tutorial in the MSDN Library.
- Where is the documentation for WF?
For WF conceptual documentation, visit Windows Workflow Foundation in the MSDN Library. The managed API reference documentation is contained in the .NET Framework Class Library MSDN documentation, primarily in the System.Activities Namespaces. The .NET Framework Developer Center on MSDN also contains documentation, and there are several other community resources that contain documentation as well; see the WF Community Resources section of the Windows Workflow Foundation (WF) Overview.
- What versions of WF are there? Can I leverage my investment in the previous version of WF when I move to another version? How do I migrate my workflow applications to the latest version?
WF was first released as part of the .NET Framework 3.0. Support for implementing a WCF service as a workflow was added in .NET Framework 3.5. The current version of WF is the second major release of WF and was shipped with Visual Studio 2010 and .NET Framework 4. Workflow applications built using .NET 3.0 and 3.5 can still run under .NET 4. For information on migrating workflow applications, see Migration Guidance and WF Migration Overview in the MSDN Library.
- How do I create a workflow?
Workflows can be created in the workflow designer, in [[Xaml]], or using code. To see an example of how to create a workflow in the designer, see the Getting Started Tutorial in the MSDN Library. To see an example of creating a workflow using code, see Authoring Workflows, Activities, and Expressions Using Imperative Code on MSDN. To see an example of working with Xaml workflows, see Serializing Workflows and Activities to and from XAML on MSDN.
- How can I see a list of workflow topics in this wiki?
You can do a search on this wiki site using a tag, such as WF: WF Wiki Pages.
- What is an Activity Delegate (ActivityAction/ActivityFunc) and how can I use it?
Activity delegates enable activity authors to expose callbacks with specific signatures, for which users of the activity can provide activity-based handlers. Two types of activity delegates are available: ActivityAction is used to define activity delegates that do not have a return value (see ActivityAction in the MSDN Library), and ActivityFunc is used to define activity delegates that do have a return value (see ActivityFunc in the MSDN Library). An example of a built-in activity that uses activity delegates is the ForEach activity. The ForEach activity takes a collection of items, and then for each item in the collection invokes its child activity, passing the item to the child. The child activity must know how to handle the item. The body of the ForEach activity is an ActivityAction, and the handler is used to specify the child activity that implements the handlers logic. For a specific example of this, see Passing Arguments to an Activity Action (WF). For more information about activity delegates, see Using Activity Delegates in the MSDN Library.
- How do I consume a WCF Service from WF?
By adding a service reference and using the generated XAML activities. There are some caveats to be aware of. For more information, see How to consume a WCF Service from a WF4 Workflow on the .Net Endpoint blog.
See Also