Windows Workflow Foundation(2) - 第一个workflow应用程序
以visual stadio 2008作为集成开发环境来开发我们的第一个workflow应用程序。
下面是具体操作步骤:
1、 启动visual stadio 2008,依次单击File-〉New-〉Project。
2、 在project types 栏选择Workflow,在Templates栏选择SequentianWorkflowConsoleApplication,便命我们创建的是一个顺序工作流。
3、 单击“OK”,我们可以看见工作就的设计界面
4、 从toolbox内拖拽一个Code活动,此code活动的默认name属性为codeActivity1,在codeActivity1上面有一个红色的ICON,说明此活动还有其他属性没有设定。
5、 将codeActivity1的ExecuteCode属性设定为“HelloWorld”,则codeActivity1所执行的业务逻辑就是HelloWorld方法体。
6、 将界面切换到code设计模式,在HelloWorld方法体内添加业务逻辑。
private void HelloWorld(object sender, EventArgs e)
{
//输出信息到控制台
Console.Write("hello world");
//为了看清楚控制台信息
System.Threading.Thread.Sleep(20000);
}
7、 运行工程,可以看到控制台输出信息。
启动工作流
在工程里打开Program.cs文件,里面有一个Main方法,此方法就是启动工作流的入口。
class Program
{
static void Main(string[] args)
{
//实例化WorkflowRuntime即工作流引擎
using(WorkflowRuntime workflowRuntime = new WorkflowRuntime())
{
AutoResetEvent waitHandle = new AutoResetEvent(false);
//结束工作流
workflowRuntime.WorkflowCompleted += delegate(object sender, WorkflowCompletedEventArgs e) {waitHandle.Set();};
//中断工作流
workflowRuntime.WorkflowTerminated += delegate(object sender, WorkflowTerminatedEventArgs e)
{
Console.WriteLine(e.Exception.Message);
waitHandle.Set();
};
//工作流实例化
WorkflowInstance instance = workflowRuntime.CreateWorkflow(typeof(WorkflowConsoleApplication1.Workflow1));
//启动工作流
instance.Start();
waitHandle.WaitOne();
}
}
}