У нас есть длительный рабочий процесс, который использует службу отслеживания 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 (который получает рассматриваемый аргумент). Можно ли что-то сделать в этом классе для инициализации отсутствующего свойства аргумента?
Все предложения приветствуются:)