Task 1: Create the Simple Order Form Workflow
In this task, you create a basic state machine workflow. You also add the three states that are used in the OrderProcessingWorkflow state machine:
The
WaitingForOrder
state idles until a certain event is raised by the Simple Order Form application.The
OrderProcessing
state simulates the processing of the order.The
OrderCompleted
state closes the order.
You provide the application logic for these states in later tasks.
Note
Although you are encouraged to follow the exercises in a linear manner, it is not required. You can start this exercise by opening the sample project and proceeding to the steps in the following section.
To create the state machine workflow project
In Solution Explorer, right-click the StateMachineHost solution, click Add and New Project. Select Visual C#, Workflow, State Machine Workflow Library and change its name to StateMachineWorkflow.
Close the Workflow1.cs [Design] document, right-click Workflow1.cs under the StateMachineWorkflow project in Solution Explorer, and select Rename. Rename the class OrderProcessingWorkflow.cs and confirm that all references to the class should be renamed. This class represents the workflow used for this solution and contains the business logic used by the application.
The next step is to add a reference to the workflow project to the host project, so that the host project can create the classes defined in the workflow project. Right-click the StateMachineHost project and select Add Reference. Select the Projects tab, select StateMachineWorkflow, and select OK.
To create the state activities
Open the
OrderProcessingWorkflow
class. The workflow should open in the designer and show one State activity,Workflow1InitialState
. Delete this initial state and drag three State activities onto the designer space. Name the activitiesWaitingForOrderStateActivity
,OrderProcessingStateActivity
, andOrderCompletedStateActivity
by changing the Name setting in the Properties pane when the states are selected. These classes represent the distinct states used in the workflow for tracking the steps performed while processing the order.Select the workflow design surface to select the workflow itself and set the InitialStateName to
WaitingForOrderStateActivity
. This should clear the red exclamation point at the top-right corner of the workflow designer, and assign theWaitingForOrderStateActivity
activity as the activity to be executed when the state machine starts. Set the CompletedStateName toOrderCompletedStateActivity
. This defines theOrderCompletedStateActivity
object as the last state in the state machine. The state machine exits when this activity completes.
Compiling the Code
For more information about compiling your code, see Compiling the Code.
In Task 2: Define the IOrderingService Interface, you define the interface and a class that is used to pass data from the host application to the state machine workflow when a new order is submitted.
See Also
Reference
StateMachineWorkflowActivity
CanModifyActivities
Concepts
Other Resources
Task 2: Define the IOrderingService Interface
Tutorial: Create a State Machine Workflow
Ordering State Machine
Simple State Machine
Copyright © 2007 by Microsoft Corporation. All rights reserved.
Last Published: 2010-03-04