Windows Workflow Foundation Using C# – 4 Days
Course Description – Windows Workflow Foundation Using C#
The Windows Workflow Foundation Using C# training course begins with an overview of the concepts of workflow and the programming model provided by WF. The essentials of WF programming are then covered followed by a systematic treatment of the major features of WF, including the Built-In Activity Library. Primitive and control flow activities are discussed, and the alternatives to hosting workflows are covered. Collection and parallel activities are covered. The creation of custom activities, both using the designer and code, is explained. Flowchart and state machine activities are covered. Persistence and bookmarks are discussed. Workflow Services, using Windows Communication Foundation (WCF) is covered. The course concludes with a discussion of debugging, error handling, transactions and compensation.
Numerous programming examples and exercises are provided. The student will receive a complete set of notes and all the programming examples.
Microsoft’s Windows Workflow Foundation (WF) provides a framework for creating scalable applications consisting of independent program units called activities. WF 4 was a major rewrite of this technology, offering significantly higher performance and making it easier to create and execute workflow applications. WF 4.5 contains new activities, designer capabilities, and a new workflow development model (state machines). It also supports the use of C# expressions in C# workflows. This four-day course covers WF 4.5 and uses Visual Studio 2017, which provides a visual designer for creating workflows.
What You Will Learn
- Understand the concept of workflow and the architecture of WF
- Implement workflow applications using WF
- Use standard activities from the Built-In Activity Library
- Implement custom activities for workflow applications
- Provide hosting for workflow applications
- Implement persistence in workflow applications
- Implement and consume workflow services
- Debug workflow applications
- Handle errors and perform compensation in workflow applications
The student should have programming experience in C# and the .NET Framework and be familiar with the Visual Studio development environment.
1. Workflow Foundation Conceptual Overview
- What is Workflow?
- Windows Workflow Foundation
- A Workflow Business Scenario
- Workflow Foundation 3
- Workflow Foundation 4
- Workflow Foundation 4.5
2. Getting Started with WF 4.5
- Visual Studio Workflow Projects
- Workflows in Code
- Workflows in XAML
- Workflow Designer
- Variables, Arguments and Expressions
- Control Flow
3. Primitive and Control Flow Activities
- Workflow Variables
- While and DoWhile
4. Custom Activities
- Why Custom Activities?
- Activity Class Hierarchy
- Composing Activities
5. Workflow Hosting
- WorkflowApplication Delegates
- Canceling and Aborting a Workflow
- Terminating a Workflow
- Workflows in a Windows Application
- Workflows in ASP.NET
6. Collection and Parallel Activities
- Collection Activities
7. More about Custom Activities
- Waiting for Input
8. Flowchart and State Machine
- Flowchart Activity Designers
- State Machines
- States and Transitions
- State Machine Activity Designers
- Threading Issues
- Long-lived Workflows
- Persistence and Bookmarks
- Persistence Store in SQL Server
- PersistableIdle Event
- Unloading and Loading
- Serializing Instance Identification
10. Workflow Services
- What is WCF?
- Address, Binding and Contract
- Workflow Services
- Messaging Activities
- Exposing a Workflow as a Service
- Calling a Service from a Workflow
- Multiple Operations
11. Debugging and Error Handling
- Breakpoints in Activities
- Handling Exceptions in the Host
- Handling Exceptions in the Workflow
Required software is Visual Studio 2017 with the bundled SQL Server 2016 LocalDB. The free Visual Studio Community 2017 can be used. SQL Server 2014 Express, a separate download, is also required. The recommended operating system is Windows 7. See the course Setup Notes for details.
A good minimal hardware profile for this course would have a 2 GHz or better CPU, 4 GB of RAM, and at least 10 GB of free disk space for tools installation and courseware.