首页 > 代码库 > 微软工作流WWF入门<第一篇>

微软工作流WWF入门<第一篇>

  工作流是什么东西?暂时还不是很弄得清除。

  工作流是用来解决什么问题的?暂时只是形成了一个很模糊的概念,还没办法用语言描述出来。

一、入门范例

  以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 -- 工作流启动了!");    }

  点击按钮,输出如下:

  

微软工作流WWF入门<第一篇>