简介
WF的全称是Windows Workflow Foundation,它是微软在.NET3.0之后推出的一套工作流开发框架。WF是微软在.NET3.0上推出的三大框架(WPF和WCF及WF)之一,其主要的目的在于为现有的.NET应用程序嵌入工作流应用,目前最新的.NET4.5版本已经完美的集成了WF功能。WF不是一个独立的工作流应用程序,它提供了一些类库用于辅助工作流应用程序的开发,并提供了实现工作流应用程序时所需要实现的一些机制,比如持久化、补偿、跟踪机制等。
用途
WF被用于简化和增强.NET应用程序的开发如果应用程序需要涉及工作流则WF是最好的选择。WF不是一个独立的应用程序开发环境,它提供了一套用于辅助工作流开发的框架。WF将被宿主到独立的应用程序中,比如Windows Form应用程序、ASP.NET应用程序或Web Service中。
第一个WF程序HelloWord
下面我们使用VS2013实现一个WF应用程序,控制结果延迟10秒显示。
1.建立一个工作流控制台应用程序
2.从工具箱中拖放一个“Sequence ” 顺序控制流:
3.在Sequence中拖放一个Delay组件,用来延迟时间,设置延迟为10s
4.在Dealy下方再拖放一个活动节点“WriteLine”来输出helloWord
5.到此基本控件就拖放完毕了,但是为了能够体现时间差异,我们在Delay之前和输出结果之后分别再添加一个“WriteLine”用来显示系统当前时间
6.宿主代码(.NET4.0之后代码相当简单)
<span style="font-family:KaiTi_GB2312;font-size:18px;color:#666666;"><strong> class Program { static void Main(string[] args) { WorkflowInvoker.Invoke(new Workflow1()); } }</strong></span>
7.输出结果
之前在项目中接触过工作流,但只是了解其思想,具体用法没有亲自实践。这里也只是做一个入门级小程序,特别简单。有更深入的理解希望大家随时交流,不足之处请批评指正。