Creating a WF program using C# Code
In this task, we will create the same "HelloWorkflow" function Workflow using pure C# code, beginning from a Console Application.
How to do it...
using System.Activities;
using System.Activities.Statements;
namespace HelloCodeWorkflow
{
class Program
static void Main(string[] args)
WorkflowInvoker.Invoke(new HelloWorkflow());
}
public class HelloWorkflow : Activity
public HelloWorkflow()
this.Implementation = () => new Sequence
Activities = {
new WriteLine(){Text="Hello Workflow"}
};
How it works...
We use the following namespaces:
Because WorflowInvoker class belongs to System.Activities namespace . Sequence activity, WriteLine activity belongs to System.Activities.Statements. namespace .
WorkflowInvoker.Invoke(s);
This code statement loads a Workflow instance up and runs it automatically. The WorkflowInvoker.Invoke method is synchronous and invokes the Workflow on the same thread as the caller.
There's more
WF4 also provides us a class DynamicActivity by which we can create a Workflow instance dynamically in the runtime. In other words, by using DynamicActivity , there is no need to define a Workflow class before initializing a Workflow instance. Here is some sample code:
public static DynamicActivity GetWF()
return new DynamicActivity()
Implementation = () => new Sequence()
Activities ={