VS2005中运用Microsoft Windows Workflow工作流
Windows Workflow Foundation 主要由 .NET 驱动的运行库环境组成,该环境处理在 Visual Studio 设计器中设计和实现的特殊对象。Microsoft .NET Framework 2.0 是支持 Windows Workflow Foundation 所必需的。单独的安装程序包为 Visual Studio 2005 添加了 Windows Workflow Foundation 设计器和项目模板支持。一旦安装,就会向 Visual Studio 2005 中的标准项目列表中添加一个全新的节点,如图 1 所示。
图 1
您可以在各种选项中进行选择,其中每个选项都标识了特定类型的工作流应用程序。表 1 显示工作流项目模板的不完全列表。
表 1. Visual Studio 2005 中的工作流项目类型 |
|
类型 |
说明 |
顺序工作流控制台应用程序 (Sequential Workflow Console Application) |
创建用于生成工作流的项目,该工作流包含一个默认的顺序工作流和一个控制台测试宿主应用程序。 |
顺序工作流库 (Sequential Workflow Library) |
创建用于以库的形式生成顺序工作流的项目。 |
工作流活动库 (Workflow Activity Library) |
创建一个用来创建活动的库的项目,以后可以将其作为工作流应用程序中的构造块重用。 |
状态机控制台应用程序 (State Machine Console Application) |
创建用于生成状态机工作流和控制台宿主应用程序的项目。 |
状态机工作流库 (State Machine Workflow Library) |
创建用于以库的形式生成状态机工作流的项目。 |
空工作流 (Empty Workflow) |
创建可以包含工作流和活动的空项目。 |
Windows Workflow Foundation 支持两种基本工作流样式:顺序工作流和状态机工作流。
现 在,项目包含两个文件:workflow1.xoml 和 workflow1.xoml.cs。前一个文件包含表示工作流模型的 XML 工作流标记;后一个文件是一个代码文件类,并且包含工作流的源代码和事件处理程序。如果双击 .xoml 文件,会看到处于运行状态的可视工作流设计器(参见图 3)。
不存在为工作流模型的序列化选择标记或代码的运行时暗示 — 一旦该工作流编译为程序集,它们就是等效的。
工作流应用程序是完成工作(例如,发送或接收数据)的活动和管理一组子活动的执行的复合活动(例如,IfElse 和 While)的混合体。工作流可实现复杂的端到端方案,例如文档审阅、PO 批准、IT 用户管理、合作伙伴之间的信息交换、任何种类的向导或业务线应用程序。
图 2 显示一个极为简单的示例工作流,它只包含一个活动 — code1 块。
图 2
Code 块对应于 Code 类的一个实例,并且表示工作流中的一个活动,其行为以用户定义的代码表示。后端代码是通过 Visual Studio 2005 输入的(只需双击设计器中的所选元素)当双击该活动时,代码文件会打开且提供代码处理程序的存根,在其中输入测试内容:
private void code1_ExecuteCode(object sender, EventArgs e)
{
Console.WriteLine("Hello WorlkFlow.");
Console.ReadLine();
}
创建这个工程时VS2005会为我们自动创建一个测试工程program.cs,运行这个工程,会得到我们期望的结果。
更详细的说明请到:http://www.microsoft.com/china/MSDN/library/Windev/WindowsVista/WWFGetStart.mspx?mfr=true