C军

不玩博客了!

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

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

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

一、入门范例

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

  点击按钮,输出如下:

  

posted on 2014-09-02 16:52  逆心  阅读(1723)  评论(0编辑  收藏  举报