如何解决这个问题(在WF4中):
我在 xaml 中创建一个工作流程并启动它的多个实例,我有一个持久性存储,并且所有工作流程都保留在其工作流程一半的书签上。
现在我停止应用程序
如果我重新启动应用程序,一切都会恢复,并且很好地完成。
但是,如果我想在运行实例持续存在后更改工作流定义怎么办?加载正在运行的工作流程(我能够找到)的唯一方法是以下方式:
WorkflowApplication wfapp = new WorkflowApplication(new WorkflowDefinition());
wfapp.InstanceStore = new SqlWorkflowInstanceStore(connStr);
wfapp.Load(wfGuid);
所以你需要工作流定义,如果它在持久化过程中发生了变化,事情就会变得非常错误。
解决这个问题的最佳方法是什么?
这个场景有点问题。无法将旧的工作流定义迁移到新格式。我已经做了一些有限的测试和一些添加/删除活动的场景,但尚未执行的情况很好。但我也遇到过严重错误的情况,包括重新执行已经完成的活动。
据我所知,除了跟踪用于创建工作流的 XAML/程序集的版本并检查何时要重新启动工作流以确定要使用的工作流版本之外,没有什么好方法可以解决该问题。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)