2

我是 Workflow 基金会的新手,想了解它的目的ActivityAction以及ActivityFunc它与拥有子活动的区别。

据我所知,子活动可能存在于某些组合中NativeActivity,并且必须由它安排。因此,子活动可以在其执行期间用作NativeActivity事件处理程序。因此,例如,这个 NativeActivity 可能会运行一些长时间运行的计算,并在它完成时安排它的子节点。

ActivityActionActivityFunc(func 返回结果而动作不) 存在相同的目的 - 在NativeActivity. 不同之处在于它们是强类型的,看起来更像是其父级声明的合同。

所以我得出结论,主要区别在于强类型和 ActivityFunc/Action 可以与子活动交换。我的理解是错误的还是我遗漏了什么?

4

1 回答 1

2

ActivityAction 和 ActivityFunc 的主要目的是您可以在您的活动和子活动之间共享数据。大多数时候你不需要,你可以安排一个子活动,它可以使用 InArguments 来获取数据。但是在某些情况下,例如 ParallelForEach,父级不能只填充一个变量,因为每个子级都是并行调度的。在这种情况下,您希望在安排子活动时传递数据。这就是 ActivityAction 的用武之地。

在大多数情况下,您不需要使用 ActivityAction 和 ActivityFunc。

于 2012-09-15T10:17:06.443 回答