WF4.0_1

转载 2012年03月21日 09:28:44
 

目录

1    开始使用WF4.0    1

1.1    前言    1

1.2    创建WF4.0项目    1

1.3    创建一个"hello wxwinter"屏幕的输出的工作流    2

1.4    程序结构说明    2

1.4.1    XAML流程结构描述文件    3

1.4.2    宿主程序    3

1.5代码方式创建WF4.0工作流    3

 

开始使用WF4.0

前言

WF的全称是Windows Workflow Foundation ,

最早接触WF是在2004年的时候,那时微软推出了一个CTP版的开发包,WinFX.

在WinFX中提供了三个内容: Avalon, Indigo, WinOE当时这三方面的内容我都有涉及

与微软很多的技术一样,WinFX在Bata2后就没有后续了.然而幸运的是我的这次长达一年的技术投入并没有浪费,WinFX在2006年以Net 3.0 的方式正式发布了(其实就算WinFX没有下文,我也没有什么遗憾,在学习WinFX的日子里,我理解了很多全新的设计思想)

在NET 3.0 中,

Avalon成为了Windows Presentation Foundation 简称为WPF

Indigo成为了 Windows Communication Foundation 简称为WCF

WinOE 成为了 Windows Workflow Foundation 简称为WWF

后来, 微软基于WPF推出了WFP/E, WFP/E就是silverlight的前身.

 

WPF,WCF,WWF从一开始就是绑在一起的,为什么WWF现在叫WF,少了一个"W",那是因为WWF与另一个缩写重名了 World Wild Fund for Nature"世界自然基金会"

世界自然基金会

 

那么WF到底是什么,在这里我先不做具体介绍,但WF绝对不是传统"工作流"层面的东西.

从WinFX到NET3.x再到NET4.0 ,WPF,WCF,WF 始终是放在一起的,

WPF(silverlight)用于程序UI的展现,WCF用于程序通信,WF用于程序的逻辑控制,这种思想在微软提出WinFX到现在的NET3.x再到NET4.0都是十分明确的.

WPF(silverlight)与WCF现在已被大家熟知,并已广泛使用.但关注WF的人却还不是很多.

为此,我准备写三个系列的文章: WF4.0 基础篇, WF4.0 应用篇, WF4.0设计篇,主要内容如下:

WF4.0 基础篇

WF4.0 中各类Activity与功能类的详细使用说明

WF4.0 应用篇

WF4.0的架构,Activity设计,流程设计器开发

WF4.0设计篇

如何将WF4.0应用到项目中,如何基于WF4.0设计项目

 

如果你对WF3.x或WF4 Bata 1有一定了解,可以看一下我写的这篇文章

WF4Bate 2与前版本的比较

http://www.cnblogs.com/foundation/archive/2009/10/22/1587798.html

 

如果你对WF3.X不了解,那也不用去了解WF3.X

本系列将从最基础的内容开始讲解WF4.0

 

创建WF4.0项目

1.打开VS2010 ,[File] -> [New] -> [Project]

2.在出现的[New Project]对话框的[Installed Templates]树上选[Workflow],在出现的模板列表框中选[Workflow Console Application]项

在[Name]框中输入[helloWorkflow],点击[OK]进入WF4.0项目的设计界面

 

创建一个"hello wxwinter"屏幕的输出的工作流

 

按[F5]运行程,会看到如下结果

 

程序结构说明

本例子包括两部分,用于描述流程结构的一个XAML文件与调用流程的宿主程序

 

XAML流程结构描述文件

WF4.0 的流程结构描述文件是一个XML格式的文件,其格式如下

(关于WF4.0的XAML文件格式,会在以后的文章中做具体介绍,在这里做一个基本说明)

<Activity

x:Class="helloWorkflow.Workflow1"

....

>

<WriteLine

Text="hello wxwinter "

....

/>

</Activity>

 

WF4.0的流程是由一组[活动]组成的,当流程运行时,流程内的[活动]按一定的规则依次执行

其中<Activity> </Activity> 是这个流程的根[活动]

<WriteLine /> 是WF4.0 的一个自带的一个[活动],其功能就是在屏幕打印[Text属性]的内容

x:Class="helloWorkflow.Workflow1" 则是将XOML文件编译成NET类时所对应的类名

 

宿主程序

在使用[Workflow Console Application]模板创建时,会自动创建一个用于测试流程的控制台宿主程序,内容如下

class Program

{

static void Main(string[] args)

{

WorkflowInvoker.Invoke(new Workflow1());

}

}

其中,[ WorkflowInvoker]是一个用于调用工作流的功能类,可以使用该类的[Invoke 静态方法]调用流程.在本例中[Invoke(new Workflow1())]所使用的类就是XOML文件中 x:Class="helloWorkflow.Workflow1" 所定义的类名

 

 

代码方式创建WF4.0工作流

 

class Program

{

static void Main(string[] args)

{

WorkflowInvoker.Invoke(codeCreateWorkflow());

}

 

// 代码方式创建WF4.0工作流

static Activity codeCreateWorkflow()

{

WriteLine writeLineActivity = new WriteLine() { Text = "hello wxwinter" };

 

Sequence wxwinterWorkflow = new Sequence();

 

wxwinterWorkflow.Activities.Add(writeLineActivity);

 

return wxwinterWorkflow;

}

}

 

按[F5]运行程,会看到如下结果

WF 4.0 beta1活动概览(2):Flowchart、Messaging、PowerShell以及Migration

本文接着来介绍一下WF 4.0 beta1的其他几个活动分类:Flowchart、Messaging、PowerShell和Migration。FlowchartFlowchart是WF中新引进的一种...

WF4.0 基础篇 (八) 控制流Activity

本节主要介绍IF, Switch, While, DoWhile, ForEach 的使用.   本文例子下载: http://files.cnblogs.com/foundation/c...

WF4.0——升级技能:泛型应用

在项目的开发中,我们知道,加入泛型后可以大大减少我们代码的开发量,
  • xvshu
  • xvshu
  • 2014年08月31日 23:26
  • 1424

WF3.0和4.0区别介绍

最近要研究下WF4.0的相关内容,将自己认识的、理解的写下来与大家共勉,有兴趣的朋友可以一起探讨一下。      相对于之前的3.0、3.5中的WorkFlow来说,4.0进行了很大的变动,包括流...

WF4.0 基础篇 (二十二) Tracking

Tracking 介绍 WF跟踪是用来记录工作流执行情况 WF跟踪由以下几部分组成: 跟踪记录 Tracking Records 从工作流运行时...

WF4.0 基础篇 (二) Activity介绍及WriteLine Activity的使用

目录 1    Activity介绍及WriteLine Activity的使用    1 1.1    代码下载    1 1.2    什么是Activity    1 1.3    WF4.0 ...

WF4.0 入门系列(五)WorkflowApplication

到现在为止我们创建的活动是由WorkflowInvoker通过Invoke方法来调用,WorkflowInvoker.Invoke()方法是一个同步方法,被调用的工作流和调用者在同一个线程中。 调用...

WF4.0 基础篇 (五) 数据的传递 Variable变量

本节主要介绍如何在WF4.0中使用变量,以及为变量赋值  本文例子下载: http://files.cnblogs.com/foundation/VariablesSample.rar http://...

WorkFlow入门Step.2—Building a Simple WorkFlow-For-WF4.0

开篇        上篇,我们简单的说明了WF的入门,那么院子里面已经有很多的高手,写了不少的关于工作流的应用,最近在集成工作流平台的过程中也是发现了不少的问题和心得体会,工作流果真不只是审批那么简单...

WF4.0 基础篇 (二十一) WorkflowInvoker

本节主要介绍WF4 中 WorkflowInvoker的使用 本文例子下载: http://files.cnblogs.com/foundation/WorkflowInvokerSampl...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:WF4.0_1
举报原因:
原因补充:

(最多只允许输入30个字)