我被要求向已编写的工作流程添加步骤,但目前在此工作流程中已有许多文档要切换到新的工作流程。在运行时修改Sharepoint工作流程
这可以轻松完成吗?我看过谷歌和这样的地方:How to upgrade a long running SharePoint Workflow already in production,但我找不到任何人正在做我想做的事情。
我假设那是因为它无法完成?
我被要求向已编写的工作流程添加步骤,但目前在此工作流程中已有许多文档要切换到新的工作流程。在运行时修改Sharepoint工作流程
这可以轻松完成吗?我看过谷歌和这样的地方:How to upgrade a long running SharePoint Workflow already in production,但我找不到任何人正在做我想做的事情。
我假设那是因为它无法完成?
根据我的经验,您应该创建新版本的工作流程,并再次通过此新工作流程运行文档。我实际上尝试了你所要求的,我找不到任何信息也没有这样做。
工作流实例在空闲时序列化为数据库(通过.NET序列化),并在唤醒时反序列化为工作流对象。如果修改工作流实例的类,运行时会在尝试使用“旧”结构反序列化闲置的工作流时会窒息。
如果您非常小心,可以为正在运行的工作流程添加一定程度的更改:例如,您可以更改代码活动中的代码,或者更改某些逻辑,只要它不影响“物理”结构这个过程(我们已经设法多次这样做了,修复了代码中的一个错误,并覆盖了dll,而不需要重新安装工作流功能)。 什么是一个很大的禁忌是增加/删除保存工作流或改变其类型的类中的字段。
如果您需要做一些重大更改(添加/删除活动等),则最好将新工作流程部署为不同的工作流程。我们通常使用像foowf-0.1,foowf-0.2等命名方案部署不同版本的工作流程。