如何从xamlx文件创建工作流?

本文关键字:工作流 文件创建 xamlx | 更新日期: 2023-09-27 18:16:12

我曾经有一个工作流服务,使用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);

虽然我不确定它会怎么做

如何从xamlx文件创建工作流?

前两行没问题。但是您不能使用WorkflowInvoker来调用工作流服务。

WorkflowServiceHost类用于托管工作流服务,WorkflowInvoker类用于"常规"工作流。