c# - WF 4 : difference between ActivityAction or ActivityFunc and child activity

标签 c# .net workflow-foundation-4 workflow-foundation

我是工作流基础新手,想了解 ActivityAction 的用途和ActivityFunc以及它与 child 事件有何不同。

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

ActivityActionActivityFunc (func 返回结果而 action 不返回)出于相同目的而存在 - 允许在 NativeActivity 中定义的执行过程中插入自定义处理程序。 。不同之处在于它们是强类型的,看起来更像是其父级声明的契约(Contract)。

所以我得出的结论是,主要区别在于强类型,并且 ActivityFunc/Action 可能会与子事件交换。是我的理解有误还是我遗漏了什么?

最佳答案

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

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

关于c# - WF 4 : difference between ActivityAction or ActivityFunc and child activity,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12435837/

相关文章:

c# - 如果还设置了 InitialDirectory,OpenFileDialog 是否可以自动选择具有 FileName 中设置的值的文件?

c# - 无法将 COM 对象转换为接口(interface)类型 'WUApiLib.UpdateSession c#

c# - 在 UserControl 中绑定(bind)

workflow-foundation-4 - 工作流服务在收到 464 消息后停止响应

c# - "type not defined"WF4 RC 异常

c# - Entity Framework - 索引 0 处的初始化字符串的格式

c# - 将 CsvHelper 自定义转换器应用于一组类的所有字符串属性

c# - 从字节数组读取 C# 中的 C/C++ 数据结构

configuration - 在 Web.config 中添加工作流扩展

c# - 将引用 C++/CLI 包装器的 UserControl 添加到表单的非托管 dll 时出现问题