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

时间:2011-02-21 20:26:26

标签: workflow workflow-foundation-4

我们有一个长期运行的工作流程,它使用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 (接收有问题的参数)。可以在这个类中完成一些事情来初始化参数的缺失属性吗?

欢迎所有建议:)

0 个答案:

没有答案