工作流是什么东西?暂时还不是很弄得清除。
工作流是用来解决什么问题的?暂时只是形成了一个很模糊的概念,还没办法用语言描述出来。
一、入门范例
以VS2008为例,先来创建一个WWF程序。
在工具箱中,拖一个Code到"活动"中
打开codeActivity1的属性面板,在ExecuteCode里双击,然后进入,键入如下代码:
namespace WorkflowConsoleApplication1 { public sealed partial class Workflow1 : SequentialWorkflowActivity { public Workflow1() { InitializeComponent(); } private void CodeExecute(object sender, EventArgs e) { Console.WriteLine("Hello World -- 工作流启动了!"); Console.ReadKey(); } } }
启动,项目,输出如下:
二、创建应用程序项目
WWF工作流都是控制台程序,为了更好地给大家进行演示,这里创建一个Windows应用程序作为它的宿主的载体。
新建一个Windows Form应用程序,引用如下控件。
和之前一样,在Winform程序中,创建一个工作流项目,结构如下
在Winform程序的代码(Winform引用工作流项目):
public partial class Form1 : Form { //定义工作流运行时Runtime容器 private WorkflowRuntime workflowRuntime; //定义工作流实例 private WorkflowInstance workflowInstance; public Form1() { InitializeComponent(); //启动工作流运行时的容器 workflowRuntime = new WorkflowRuntime(); workflowRuntime.StartRuntime(); } private void button1_Click(object sender, EventArgs e) { //指定需要引用的工作流名称 Type type = typeof(WorkflowConsoleApplication1.Workflow1); //在工作流运行时Runtime容器中注册一个工作流实例 workflowInstance = workflowRuntime.CreateWorkflow(type); //启动该工作流实例 workflowInstance.Start(); } }
工作流的代码Console.Write()改为MessageBox.Show();
private void codeActivity1_ExecuteCode(object sender, EventArgs e) { MessageBox.Show("Hello World -- 工作流启动了!"); }
点击按钮,输出如下: