2009-10-13 67 views

回答

0

根据我的经验,您应该创建新版本的工作流程,并再次通过此新工作流程运行文档。我实际上尝试了你所要求的,我找不到任何信息也没有这样做。

0

工作流实例在空闲时序列化为数据库(通过.NET序列化),并在唤醒时反序列化为工作流对象。如果修改工作流实例的类,运行时会在尝试使用“旧”结构反序列化闲置的工作流时会窒息。

如果您非常小心,可以为正在运行的工作流程添加一定程度的更改:例如,您可以更改代码活动中的代码,或者更改某些逻辑,只要它不影响“物理”结构这个过程(我们已经设法多次这样做了,修复了代码中的一个错误,并覆盖了dll,而不需要重新安装工作流功能)。 什么是一个很大的禁忌是增加/删除保存工作流或改变其类型的类中的字段。

如果您需要做一些重大更改(添加/删除活动等),则最好将新工作流程部署为不同的工作流程。我们通常使用像foowf-0.1,foowf-0.2等命名方案部署不同版本的工作流程。