Windows Workflow Foundation 有时也被称为Windows WF,它是由微软开发的,为开发者开发基于工作流或基于流程的软件解决方案提供单一平台。Windows Workflow Foundation建筑在.NET之上,是.NET Framework3.0的主要组成部分。
接下来动手开发我们第一个工作流。
首先,启动Visual Studio 2008。第一步,创建一个“顺序工作流控制台应用程序”项目,如下图
创建新项目后,开发环境如下图
解决方案中的Workflow.cs文件是工作流本身,而Program.cs文件是启动工作流程序的代码
1.工作流
在解决方案中右击Workflow1.cs,然后选择“查看代码”。
添加姓名和消息属性,如图
接下来回到设计视图,从工具箱中找到“Code”控件,拖动到设计界面中,然后将它的“Name”属性更改为“createMessageActivity”,此时会发现Code Activity右上方会出现一个红色惊叹号,如下图:
这个惊叹号说明没有设置ExcuteCode属性,我们需要创建这个事件,右击它的属性,找到事件,如下图:
双击这个事件,写入一下代码
private void createMessageActivity_ExecuteCode(object sender, EventArgs e)
{
message = String.Format("Hello {0} !", name);
}
2.控制台应用程序
在“解决方案资源管理器”中打开Program.cs文件。增加一个名为message的string类型变量,修改WorkflowCompleted事件用来接受工作流发送的消息。
//接收问候消息
string message = string.Empty;
workflowRuntime.WorkflowCompleted += delegate(object sender, WorkflowCompletedEventArgs e) {
message = e.OutputParameters["Message"].ToString();
waitHandle.Set();
};
接下来,将用户的名字传入工作流中,可以使用Dictionary<string,object>集合。
Dictionary<string, object> InParms = new Dictionary<string, object>();
InParms.Add("姓名", "无忧");
WorkflowInstance instance = workflowRuntime.CreateWorkflow(typeof(Demo1.Workflow1), InParms);
最后在控制台输出消息
Console.WriteLine(message);
结果如下图: