我被要求向已編寫的工作流程添加步驟,但目前在此工作流程中已有許多文檔要切換到新的工作流程。在運行時修改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等命名方案部署不同版本的工作流程。