Tutorial: Use Rules and Conditions in WF
Activity conditions are used by certain types of activities in the Windows Workflow Foundation (WF) base activity library, such as the WhileActivity activity and IfElseActivity activity. These types of activities contain child activities that may or may not be executed based on their associated activity condition. Activity conditions evaluate to either true or false, and the results of these evaluations are used by these activities to determine whether to execute the desired child activities. In WF, there are two types of activity conditions: imperative and declarative. Imperative conditions are code based and use the CodeCondition type and declarative conditions use RuleConditionReference. Both of these types derive from the abstract base class ActivityCondition and you can create your own custom activity condition types by deriving from this class. In this tutorial, the usage of both imperative and declarative conditions in conjunction with the WhileActivity activity and the IfElseActivity activity are covered.
Rules are declarative expressions that are contained in a RuleSet. This RuleSet is referenced by a PolicyActivity that is hosted by a workflow. These rules are in the format of if/then/else, and within these clauses, a Rule can access members of the workflow that contains the PolicyActivity. In this tutorial, two PolicyActivity activities are used. The first example shows basic rules functionality and the second shows examples of rules chaining and rule dependencies and re-evaluation.
The application that you build in this tutorial is a number guessing game. A random number is generated, and then you attempt to guess the number. If you are too low or too high you are prompted until you correctly guess the number. At that point you are ranked based on the number of guesses it took, and then the computer attempts to guess the number. When successful, it reports on how many guesses it took.
To achieve this, you create a Sequential Workflow Console Application using the appropriate project template. The workflow uses a combination of activities to implement the game portion of the application. Specifically, you use activity conditions and rules by using a WhileActivity activity, an IfElseActivity activity, and PolicyActivity activities.
In This Section
- Exercise 1: Create the Workflow Application
Creates the project for the Number Guessing application that is used in this tutorial. Then the host application is configured and the workflow implements the basic version of the application.
- Exercise 2: Use Rules Chaining with the PolicyActivity Activity
Adds workflow member variables to support a binary search algorithm, and then uses a PolicyActivity activity to create a RuleSet that implements the binary search.
- Completed Rules and Conditions Tutorial
Shows various aspects of using rules and conditions in Windows Workflow Foundation.
Reference
CodeCondition
RuleConditionReference
ActivityCondition
WhileActivity
IfElseActivity
RuleSet
PolicyActivity
Related Sections
Workflow Changes to Rule Conditions
How to: Use Conditions Through Code
Using the PolicyActivity Activity
Copyright © 2007 by Microsoft Corporation. All rights reserved.
Last Published: 2010-03-04