2010-09-30 27 views
4

我是WF的新成員,所以原諒這可能是一個簡單的問題。Windows工作流程(WF):將一個活動的輸出作爲下一個的輸入傳遞給一個序列

我正在創建多個活動,它們將按順序執行並向下傳遞數據。我知道有一種方法是在活動A的父級序列中設置上下文變量,然後在活動B中讀取此值(因此A的輸出實際上是B的輸入)。

我很好,使用這種技術,但如果有一種方法可以直接聲明活動B的輸入應該是活動A的輸出,我寧願這樣做。我被這個評論在新的活動模板好奇:

"If your activity returns a value, derive from CodeActivity<TResult> and return the value from the Execute method." 

什麼是從活動中返回一個值的點?可以通過序列中的下一個活動以某種方式讀取此返回值,而不使用共享父級的上下文?

+0

您使用的是哪個版本的工作流程? – 2010-10-05 01:56:18

+0

我一直在想同樣的事情。從活動中返回一個值似乎相當於一個失敗的參數。 – juharr 2010-11-17 13:23:48

回答

4

如果您使用CodeActivity,則始終會有一個名爲result的OutArument屬性。無論您從Execute()函數返回的內容都存儲在那裏。您仍然需要將結果綁定到變量或其他參數以在工作流中使用它。

+0

如何掛鉤? – smwikipedia 2013-08-30 06:22:40

0

你可以聲明inoutargument這樣的:

<x:Property Name="ServiceData" Type="InOutArgument(x:string)" /> 

您可以用源和輸入目的地活動的結果集這一點。

<my:SourceActivity Result="[ServiceData]"/> 
<my:DestinationActivity Input="[ServiceData]"/> 
相關問題