创建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]运行程,会看到如下结果