Windows Workflow Foundation 中的新增功能
本主题适用于 Windows Workflow Foundation 4。
.NET Framework 版本 4中的 Windows Workflow Foundation (WF) 对以前版本中的多个开发范例进行了更改。现在,工作流可以更方便地创建、执行、维护和实现许多新功能。
工作流活动模型
现在,活动是创建工作流的基本单元,它取代了使用的 SequentialWorkflowActivity 或 StatemachineWorkflowActivity 类。Activity 类提供工作流行为的抽象基类。因此,活动作者可以实现 CodeActivity 以获取自定义活动基本功能,也可以实现 NativeActivity 以获取广泛使用运行时的自定义活动功能。Activity 类由活动作者使用,用于通过其他 NativeActivity、CodeActivity、AsyncCodeActivity 或 DynamicActivity 对象以声明方式表示新行为,而不管这些行为是以自定义方式开发的行为,还是 .NET Framework 4 内置活动库中附带的行为。
丰富的复合活动选项
Flowchart 是一项功能强大的新增控制流活动,作者可将其用于对任意循环和条件分支进行建模。Flowchart 提供了一个由事件驱动的编程模型,该模型以前只能通过 StateMachineWorkflowActivity 实现。程序工作流得益于对传统流控制结构进行建模的新增流控制活动,例如 TryCatch 和 Switch。
扩展的内置活动库
该活动库的新增功能包括:
新增流控制活动,例如 DoWhile、Pick、TryCatch、ForEach、Switch 和 ParallelForEach。
用于操作成员数据的活动,例如 Assign 和集合活动(如 AddToCollection)。
用于控制事务的活动,例如 TransactionScope 和 Compensate。
新增消息传递活动,例如 SendContent 和 ReceiveReply。
显式活动数据模型
.NET Framework 4 包含用于存储或移动数据的新选项。可以使用 Variable 在活动中存储数据。当在活动中移入和移出数据时,将使用专用参数类型来确定数据的移动方向。这些类型包括 InArgument、InOutArgument 和 OutArgument。有关更多信息,请参见Windows Workflow Foundation 数据模型.
增强的宿主、持久性和跟踪选项
.NET Framework 4 包含如下持久性增强功能:
提供了更多用于运行工作流的选项,其中包括 WorkflowServiceHost、WorkflowApplication 和 WorkflowInvoker。
可以使用 Persist 活动显式保存工作流状态数据。
主机可以保存 ActivityInstance,而不必卸载它。
当使用无法保存的数据时,工作流可以指定非保存区域,以便推迟保存,直到退出非保存区域为止。
可以使用 TransactionScope 使事务流入到工作流中。
使用 TrackingParticipant 可以更方便地完成跟踪。
使用 EtwTrackingParticipant 可以提供对系统事件日志的跟踪。
现在可以使用 Bookmark 对象管理对挂起的工作流的恢复。
简化的 WF 设计器扩展体验功能
新 WF 设计器建立在 Windows Presentation Foundation (WPF) 的基础上,它提供了更简单的可在 Visual Studio 之外重新承载 WF 设计器时使用的模型,还提供了更简单的用于创建自定义活动设计器的机制。有关更多信息,请参见自定义工作流设计体验.