Windows Workflow Foundation 中的新增功能

本主题适用于 Windows Workflow Foundation 4。

.NET Framework 版本 4中的 Windows Workflow Foundation (WF) 对以前版本中的多个开发范例进行了更改。现在,工作流可以更方便地创建、执行、维护和实现许多新功能。

工作流活动模型

现在,活动是创建工作流的基本单元,它取代了使用的 SequentialWorkflowActivityStatemachineWorkflowActivity 类。Activity 类提供工作流行为的抽象基类。因此,活动作者可以实现 CodeActivity 以获取自定义活动基本功能,也可以实现 NativeActivity 以获取广泛使用运行时的自定义活动功能。Activity 类由活动作者使用,用于通过其他 NativeActivityCodeActivityAsyncCodeActivityDynamicActivity 对象以声明方式表示新行为,而不管这些行为是以自定义方式开发的行为,还是 .NET Framework 4 内置活动库中附带的行为。

丰富的复合活动选项

Flowchart 是一项功能强大的新增控制流活动,作者可将其用于对任意循环和条件分支进行建模。Flowchart 提供了一个由事件驱动的编程模型,该模型以前只能通过 StateMachineWorkflowActivity 实现。程序工作流得益于对传统流控制结构进行建模的新增流控制活动,例如 TryCatchSwitch

扩展的内置活动库

该活动库的新增功能包括:

显式活动数据模型

.NET Framework 4 包含用于存储或移动数据的新选项。可以使用 Variable 在活动中存储数据。当在活动中移入和移出数据时,将使用专用参数类型来确定数据的移动方向。这些类型包括 InArgumentInOutArgumentOutArgument。有关更多信息,请参见Windows Workflow Foundation 数据模型.

增强的宿主、持久性和跟踪选项

.NET Framework 4 包含如下持久性增强功能:

  • 提供了更多用于运行工作流的选项,其中包括 WorkflowServiceHostWorkflowApplicationWorkflowInvoker

  • 可以使用 Persist 活动显式保存工作流状态数据。

  • 主机可以保存 ActivityInstance,而不必卸载它。

  • 当使用无法保存的数据时,工作流可以指定非保存区域,以便推迟保存,直到退出非保存区域为止。

  • 可以使用 TransactionScope 使事务流入到工作流中。

  • 使用 TrackingParticipant 可以更方便地完成跟踪。

  • 使用 EtwTrackingParticipant 可以提供对系统事件日志的跟踪。

  • 现在可以使用 Bookmark 对象管理对挂起的工作流的恢复。

简化的 WF 设计器扩展体验功能

新 WF 设计器建立在 Windows Presentation Foundation (WPF) 的基础上,它提供了更简单的可在 Visual Studio 之外重新承载 WF 设计器时使用的模型,还提供了更简单的用于创建自定义活动设计器的机制。有关更多信息,请参见自定义工作流设计体验.

另请参见

其他资源

通往 4 之路 - Beta 1 和 CTP 之间的 WF 更改