我以前使用xamlx文件拥有工作流服务。
现在我要做的是创建多个工作流程,并根据我希望能够调用WF1或WF2的操作的性质。
所以,我希望能够动态加载xamlx,然后将它所需的全部传递给它(比如一个字符串),然后调用它的初始方法,比如Start()。
关于如何做到这一点的任何想法?我发现了一些代码:
string workflow = new StreamReader(Assembly.GetExecutingAssembly().GetFile("WF1.xamlx")).ReadToEnd();
var dynamicActivity = ActivityXamlServices.Load(workflow) as DynamicActivity;
WorkflowInvoker.Invoke(dynamicActivity);
虽然我不确定它会如何表现。
答案 0 :(得分:0)
首先到行都行。但是您不能使用WorkflowInvoker来调用Workflow Service。
WorkflowServiceHost Class用于托管工作流服务,WorkflowInvoker Class用于“常规”工作流程。