WF in .Net 4.5 提高

转:http://blog.sina.com.cn/s/blog_4c0e8aa20100xfn2.html

WF in .Net 4.5

在.Net 4.5 的框架中,工作流基础(WF)添加了一些新的功能,这些新的功能包括:

1. 创建状态机工作流的能力(在3.5中存在状态机,但在4.0 中就不常用来,在4.5种突然又出现,不知道会有什么好处)。

2. 增强的工作流设计器功能类如下:

1) 增强的工作流在 Visual Studio 中的快速查找的搜索功能,并能够在文件中查找。

2) 当第二个子活动添加到容器中,自动创建序列的活动和序列活动中包括这两个活动的能力。

3) 平移的支持,以便工作流进行更改,而无需使用滚动条滚动到可见的部分。

4) 新的文档大纲视图树式大纲视图中显示的工作流组件,允许您在文档大纲视图中选择一个组件(这个确实方便了不少,如在一个Sequence内部,我们通常操作一个内部的活动还得点进去查看,而且结构不是十分的清晰,但是仍存在一个弊端,就是调用子流程,子流程中的活动是否也已经列入到了大纲视图中不得而知)。

5) 将批注添加到活动的能力(也是很重要的,通常情况下活动只有一个Name 的属性,因此对于该活动的描述不得而知,如果添加了描述,则会使流程的搭建更方便容易)。

6) 通过工作流设计器可以定义和使用活动委托【理解不了了,等有时间装一个.Net4.5看看到底说的是神马】的能力。

7) 状态机和流程图的自动连接和自动插入到工作流中并进行链接(听这个意思感觉有点像Visio了,每拖进一个新的活动,则自动进行关连的连线,应该能节省点时间)。

8) 存储工作流中的 XAML 文件,因此您可以轻松地找到并编辑的视图状态信息中的单个元素的视图状态信息(这个还是蛮有用的,可以更方便的定位到单个元素和对应的XAML表示)

9) NoPersistScope 容器防止子活动坚持活动【不能理解,不知道是否可以理解为在一个并发中,如果有一个驳回,则整个并发要驳回,此时就可以应用这一特性直接让并发活动死掉,可是还是存在问题,微软是不记录历史过程的,但是我们要用的WF通常是要记录历史的,那么怎样将历史记录也设置成驳回状态仍是一个问题,看来还得用分组,一个驳回,所有关联的分组均设置状态】。

3. C# 表达式的支持:(这个是期盼已久的,用C# 开发出来WF,最后表达式还得用VB的语法来写,很是郁闷,看来WF4.5解决了这个问题)

在.Net4.5 的架构准中, Visual Basic项目开发的工作流将使用 Visual Basic 表达式,而 C# 项目开发的工作流则可以使用 C# 的表达式。

C# 工作流项目,在 Visual Studio 2010 中创建并已 Visual Basic 表达式可以使用 C# 表达式的 C# 工作流项目与兼容。

4. 版本控制功能增强:

新 WorkflowIdentity 类,该类提供持久的工作流实例和其工作流定义之间的映射。

在同一主机中协同执行多个工作流在,包括 WorkflowServiceHost 的版本。

在动态更新中,修改的持久化工作流实例定义。

工作流服务发展,还支持自动生成活动,以匹配现有的服务合同,合同-第一。

【这个版本总感觉还是有点不太实用,没有体会到好的用处,看来还得仔细的研究一下】

原文地址:https://www.cnblogs.com/jackljf/p/3589278.html