Windows Workflow Foundation中变量和参数的区别



我是Windows Workflow Foundation的新手,所以这个问题可能看起来有点简单。

在工作流中参数和变量的主要区别是什么?以及在什么情况下应该使用哪一个。

例如,如果我需要存储一些对象,这些对象可以被工作流中的所有活动使用,并且活动应该能够修改对象。我应该用哪一个——变量还是参数?

参数是活动的输入和输出(整个工作流在WWF中也被视为活动)

所以放入工作流中的任何数据都是通过一个在工作流中命名为InArgument的参数进入的。(每次我写InArgumentt时,我也可以使用InOutArgument)

输入到Activity中的任何数据都是通过一个在Activity中被命名为InAargument的参数进入的。

输出相同,只是参数必须标记为Out(或In/Out)

参数中的值在设置参数的工作流或活动中可用,如InArgument

变量只存在于命名它们的容器中。所以工作流中的变量是在工作流中创建的,而不是传入的。

你可以将一个工作流级别变量分配给activity的InArgument,方法是在activity的属性面板中将该变量分配给InArgument。

变量也有作用域,所以如果你有嵌套的工作流活动,你可以将变量限制在嵌套的工作流中,而不是整个工作流。

实参只存在于它们被输入的容器中。所以,如果你想传递一个参数从一个工作流到一个活动,你必须添加该参数作为一个参数InArgument在属性面板的活动。

你可以通过在Activity的属性面板中将该参数或变量作为参数添加到OutArgument中,从而从Activity输出到参数或变量。

最新更新