您的位置:知识库 » .NET技术

一步一步学WF系列(一)——Hello world开始

作者: 飞林沙  来源: 博客园  发布时间: 2009-04-10 10:06  阅读: 1785 次  推荐: 0   原文链接   [收藏]  
摘要:WF
[1] 一步一步学WF系列(一)——Hello world开始
[2] 一步一步学WF系列(一)——Hello world开始

  1. 什么是工作流

  我给工作流下了这样的定义,工作流就是一个过程,这个过程会产生一定的结果。

其实,在OA系统中,审批流就是我们最常见的工作流之一。

  另外,简单了说,其实我们所画的流程图就是一种最简单的工作流,工作流最大的特点就是图形化。工作流是按照顺序驱动或者事件驱动去触发下一步操作,从而最终得到一个结果。

  其实,我们也可以把他理解为一个过程化的职责链。

  2. 工作流的类型

  工作流大致分为两类,顺序工作流和事件驱动工作流。

  顺序工作流是我们很常见的工作流,这个工作流是由我们事先规定好的顺序一步步地走下去,他们执行的步骤是不可以改变的。

  事件驱动工作流,我们也称之为有限状态机,他状态的变更是犹由于特定的事件而触发的。

  举例如下:

  顺序工作流:审批流其实就是典型的顺序工作流,一个审批对象一步步地层层审批,拿一次面试过程来说,首先人事部简历筛选,然后是技术经理面试,然后是总经理面试,这都是按照流程来的。

image

  事件驱动工作流:想想我们的软件工程流程,是不是这样的:

image

  3. 第一个实例:Hello world

  学任何程序,第一个例子往往都是Hello world,这次也不例外。

  让我们先来构建一个简单的WF小程序。

  我所使用的环境是Visual Studio 2008 + .NET Framework 3.5 sp1来搭建项目:

  首先让我们来熟悉环境:

  打开VS2008,选择新建——> 项目:

image

  然后选择Workflow——>顺序工作流控制台应用程序。然后点击确定就进入了我们的WF项目中。

image

  在项目中,我们可以看到Program.cs和Workflow1.cs。Workflow1我不多说,这个当然是我们的工作流程序。

  那来看一下Program.cs:

  4. 宿主

  Windows workflow foundation不是一个独立的产品,他需要在一个宿主的环境下才能运行。

  这个宿主可以是控制台应用程序,Winform程序,也可以是ASP.NET程序。

  WF的运行是通过工作流的运行时引擎来实现的。实际上,工作流运行时引擎和宿主的应用程序在同一进程中。

  5. 继续Hello world

  在工具箱中,拖出一个Code控件。

image

  然后为codeActivity1起一个有意义的Name为codeActivityHello。

  然后去实现ExcuteCode事件,实现这个事件,运行库将自动调用这个方法。

  实现如下:

private void codeActivityHello_ExecuteCode(object sender, EventArgs e)
{
Console.WriteLine("Hello world");
}

  好了,让我们运行这段程序:

image

[第1页][第2页]
0
0

.NET技术热门文章

    .NET技术最新文章

      最新新闻

        热门新闻