2010-05-18 42 views
1

我有一个由许多自定义活动组成的工作流程。所有这些活动都需要访问工作流本身的启动参数。我可以在所有这些自定义活动中定义InArgument,并将工作流参数绑定到自定义活动参数,但我对此解决方案不太熟悉。从自定义活动访问工作流程级别参数和变量声明的最佳方式是什么?我可以从ActivityContext获取它们吗?从自定义活动访问参数,工作流程变量

谢谢。

+0

使用工作流数据上下文。看到这个链接http://blogs.msdn.com/b/tilovell/archive/2011/08/09/wf4-lesser-known-wf-features-workflowdatacontext.aspx – kiran 2016-02-26 06:34:07

回答

1

我们用我们的自定义活动看过这种方法的一种方法是使用ActivityContext中提供的Properties属性。我们与这在execute方法增加了一个ExecutionProperty的InArgument的活动,让你结束了:

public InArgument<Custom> MyObject {get;set;} 

...

context.Properties.Add("Contact",MyObject.Get(context)); 

然后在你的其他活动,你可以检查,看看是否到此已经设置

context.Properties.Find("Contact") 

显然,如果你这样做了很多,我建议使用固定的地方,而不是神奇的字符串,但它应该保存您不必在添加相同的参数在设计时重新结束。

+0

好的文章在这:http:// blogs。 msdn.com/b/tilovell/archive/2009/12/20/workflow-scopes-and-execution-properties.aspx – TrueWill 2010-12-02 21:47:01

相关问题