是否可以安排动态创建的子活动

时间:2011-10-05 13:50:32

标签: workflow-foundation-4

任何人都知道在WF4本机活动中是否可以安排动态创建的子活动?该活动接受确定要实例化和运行的子活动的args。我一直在遇到CacheMetadata问题。

2 个答案:

答案 0 :(得分:1)

不可能,但您可以使用我在Microsoft.Activities中内置的InvokeWorkflow / LoadActivity支持。见How To Invoke a Child Workflow as XAML

答案 1 :(得分:0)

工作流运行时必须知道在执行之前要运行的Activity。所以你不能做到以下几点:

protected override void Execute(NativeActivityContext context)
{
    context.ScheduleActivity(new MyActivity());
}

不幸的是,ActivityActionActivityFunc的处理程序也是如此。在调用CacheMetadata期间,还必须设置这些并将其呈现给运行时。

唯一可行的解​​决方案是实现IActivityTemplateFactory并在设计时将其放置在设计界面上,并在调用当前工作流程时调用CacheMetadata期间更新您的孩子,从而为您的子活动提供一些实现。在使用运行时注册子项之前做出相应的响应。