Workflow 长期运行的工作流版本控制:在哪里以及如何使用OnActivityExecutionContextLoad?

Workflow 长期运行的工作流版本控制:在哪里以及如何使用OnActivityExecutionContextLoad?,workflow,workflow-foundation-4,Workflow,Workflow Foundation 4,我们有一个长期运行的工作流,它使用SQL跟踪服务(.Net WF 4.0)。在下一次更新中,我们希望在工作流的一个参数中引入公共属性。因为这是破坏性的更改,所以持久化工作流在重新加载时抛出以下错误: System.Runtime.DurableInstancing.InstancePersistenceCommandException: The execution of the InstancePersistenceCommand named .. LoadWorkflow was interr

我们有一个长期运行的工作流,它使用SQL跟踪服务(.Net WF 4.0)。在下一次更新中,我们希望在工作流的一个参数中引入公共属性。因为这是破坏性的更改,所以持久化工作流在重新加载时抛出以下错误:

System.Runtime.DurableInstancing.InstancePersistenceCommandException: The execution of the InstancePersistenceCommand named .. LoadWorkflow was interrupted by an error.

InnerException: System.Runtime.Serialization.SerializationException: 'Element' '_x003C_BookmarkName_x003E_k__BackingField' from namespace '...' is not expected. Expecting element '....'
我知道这是一个典型的版本控制问题,我在一些网站上注意到的一个建议是重写OnActivityExecutionContextLoad方法并填充缺少的值。但我不知道在哪里以及如何做到这一点!OnActivityExecutionContextLoad在System.Workflow.ComponentModel.Activity(.Net 3.5?)中声明,而我们拥有的是从System.Activities.NativeActivity(接收相关参数)派生的基于代码的顶级自定义活动。在这个类中可以做些什么来初始化参数缺少的属性吗

欢迎所有建议:)