2

私はWorkflowFoundationを初めて使用し、その目的とActivityActionActivityFunc代わりに子アクティビティを使用することとの違いを理解したいと思います。

私が理解できる限り、子供の活動はいくつかの複合体NativeActivityに存在する可能性があり、それによってスケジュールする必要があります。したがって、子アクティビティNativeActivity、実行中にイベントハンドラとして使用される場合があります。したがって、たとえば、このNativeActivityは、長時間実行される計算を実行し、終了時に子をスケジュールする場合があります。

ActivityActionおよびActivityFunc(funcは結果を返し、アクションは存在しません)同じ目的で存在します-で定義された実行中にカスタムハンドラーをプラグインできるようにしNativeActivityます。違いは、それらは強く型付けされており、親によって宣言されたコントラクトのように見えることです。

そのため、主な違いは強い型付けであり、ActivityFunc/Actionは子アクティビティと交換される可能性があるという結論に達しました。私の理解が間違っているのですか、それとも何かが足りないのですか?

4

1 に答える 1

2

ActivityActionとActivityFuncの主な目的は、アクティビティと子アクティビティの間でデータを共有できることです。ほとんどの場合、必要はなく、子アクティビティをスケジュールするだけで、InArgumentsを使用してデータを取得できます。ただし、ParallelForEachのように、各子が並行してスケジュールされているため、親が変数を設定できない場合もあります。その場合、子アクティビティをスケジュールするときにデータを渡します。そして、そこでActivityActionが登場します。

ただし、ほとんどの場合、ActivityActionとActivityFuncを使用する必要はありません。

于 2012-09-15T10:17:06.443 に答える