任何人都知道在WF4本机活动中是否可以安排动态创建的子活动?该活动接受确定要实例化和运行的子活动的args。我一直在遇到CacheMetadata问题。
答案 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());
}
不幸的是,ActivityAction或ActivityFunc的处理程序也是如此。在调用CacheMetadata期间,还必须设置这些并将其呈现给运行时。
唯一可行的解决方案是实现IActivityTemplateFactory并在设计时将其放置在设计界面上,并在调用当前工作流程时调用CacheMetadata期间更新您的孩子,从而为您的子活动提供一些实现。在使用运行时注册子项之前做出相应的响应。