Using Variable in a WF program
We can use Variable temporarily to store a value when a WF program is running. In this task, we will create a WF program that prints five numbers to the console in a loop. We will use the NumberCounter
variable
as a number counter.
How to do it...
Create a workflow project:
Create a new Workflow Console Application under the
Chapter01
solution and name the project asUseVariable
.Author a workflow:
Add a
Sequence
activity, click the Sequence activity, create anInt32
NumberCounter
variable, and set its Scope to Sequence. Then, author the workflow as shown in the following screenshot. In the second Assign activity type NumberCounter=NumberCounter+1.Run it:
Set
UseVariable
as Startup project. Press Ctrl+F5 to build and run the workflow without debugging. The application should run in a console window and print the following message:
How it works...
To make the workflow logic easy to understand, translate the workflow into C# code. It will look like:
int NumberCounter = 0; do { Console.WriteLine(NumberCounter); NumberCounter++; }while (NumberCounter <= 5);
While we can use arguments to flow data into and out of a workflow, we use Variable to store data in a workflow. Every variable has its scope, and can be accessed by activities within its scope. Variable in WF4 is pretty much like variables in imperative language such as C#.
There's more...
Please note that we cannot access to the workflow variables from the outside host. WF4 variables are designed for sharing data inside the workflow instance. We can use Bookmark to access the workflow from the outside host.
See Also
Customizing a MyReadLine activity with Bookmark