Windows 工作流 (WF):将一个活动的输出作为序列中下一个活动的输入传递
我是 WF 的新手,所以请原谅这可能是一个简单的问题。
我正在创建多个活动,这些活动将按顺序执行并沿链传递数据。我知道执行此操作的一种方法是在活动 A 的父序列中设置上下文变量,然后在活动 B 中读取该值(因此 A 的输出实际上是 B 的输入)。
我可以很好地使用这种技术,但如果有一种方法可以直接声明 Activity B 的输入应该是 Activity A 的输出,我更喜欢这个。我对新活动模板中的这条评论很感兴趣:
"If your activity returns a value, derive from CodeActivity<TResult> and return the value from the Execute method."
从活动返回值有什么意义?序列中的下一个 Activity 是否可以在不使用共享父级上下文的情况下以某种方式读取此返回值?
I am brand new to WF so forgive what might be a simple question.
I am creating multiple activities which will execute in a sequence and pass data down the chain. I know that one way to do this is to set a context variable in the parent Sequence from Activity A, and then read this value in Activity B (thus the output of A is effectively the input of B).
I'm fine using this technique, but if there is a way to directly declare that the input of Activity B should be the output of Activity A, I'd prefer this. I'm intrigued by this comment in the new Activity template:
"If your activity returns a value, derive from CodeActivity<TResult> and return the value from the Execute method."
What is the point of returning a value from an Activity? Can this return value be read somehow by the next Activity in the sequence, without using the shared parent's context?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您使用 CodeActivity,则始终有一个名为 result 的 OutArument 属性。从 Execute() 函数返回的任何内容都存储在其中。您仍然需要将结果连接到变量或其他参数才能在工作流程中使用它。
If you use CodeActivity there is always an OutArument property called result. Whatever you return from the Execute() function is stored in there. You still need to hook the result up to a variable or other argument to use it in your workflow.
您可以像这样声明 inoutargument:
您可以使用源结果和目标活动的输入来设置它。
You can declare inoutargument like this:
You can set this with result of source and input to destination activity.