Настраиваемый последовательный рабочий процесс SharePoint "System.Workflow.Runtime.Hosting.PersistenceException"
Я получаю следующую ошибку в журналах sharepoint для моего последовательного рабочего процесса SharePoint Visual Studio с пользовательским действием.
Пользовательское действие создается с помощью класса компонентов.
Я не уверен, почему эта ошибка приходит? Пожалуйста помоги!!!
System.Workflow.Runtime.Hosting.PersistenceException: Type 'System.ComponentModel.Container' in Assembly 'System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' is not marked as serializable. ---> System.Runtime.Serialization.SerializationException: Type 'System.ComponentModel.Container' in Assembly 'System, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089' is not marked as serializable. at System.Runtime.Serialization.FormatterServices.InternalGetSerializableMembers(RuntimeType type) at System.Runtime.Serialization.FormatterServices.GetSerializableMembers(Type type, StreamingContext context) at System.Runtime.Serialization.Formatters.Binary.WriteObjectInfo.InitMemberInfo() at System.Runtime.Serialization.Formatters.Binary.WriteObjectInf... 3d93366f-a701-476c-91c9-d2153911486b
03/22/2012 12:38:36.31* w3wp.exe (0x049C) 0x1620 SharePoint Foundation Workflow Infrastructure 98d4 Unexpected ...o.InitSerialize(Object obj, ISurrogateSelector surrogateSelector, StreamingContext context, SerObjectInfoInit serObjectInfoInit, IFormatterConverter converter, ObjectWriter objectWriter) at System.Runtime.Serialization.Formatters.Binary.ObjectWriter.Serialize(Object graph, Header[] inHeaders, __BinaryWriter serWriter, Boolean fCheck) at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize(Stream serializationStream, Object graph, Header[] headers, Boolean fCheck) at System.Runtime.Serialization.Formatters.Binary.BinaryFormatter.Serialize(Stream serializationStream, Object graph) at System.Workflow.ComponentModel.Activity.Save(Stream stream, IFormatter formatter) at System.Workflow.Runtime.Hosting.WorkflowPersistenceService.GetDefaultSerializedForm(Ac... 3d93366f-a701-476c-91c9-d2153911486b
03/22/2012 12:38:36.31* w3wp.exe (0x049C) 0x1620 SharePoint Foundation Workflow Infrastructure 98d4 Unexpected ...tivity activity) at Microsoft.SharePoint.Workflow.SPWinOePersistenceService.SaveWorkflowInstanceState(Activity instanceState, Boolean unlock) at System.Workflow.Runtime.WorkflowExecutor.Persist(Activity dynamicActivity, Boolean unlock, Boolean needsCompensation) --- End of inner exception stack trace --- at System.Workflow.Runtime.WorkflowExecutor.Persist(Activity dynamicActivity, Boolean unlock, Boolean needsCompensation) at System.Workflow.Runtime.WorkflowExecutor.ProtectedPersist(Boolean unlock) 3d93366f-a701-476c-91c9-d2153911486b
Спасибо!
2 ответа
Проблема заключалась в том, что когда я изменил класс Component на Sequential Activity, у меня были свойства Activity, например "A" и "B". Затем я добавил это действие в панель инструментов VS. На этом этапе все работало нормально.
Теперь, когда я изменил код действия, чтобы изменить его свойство на "A" и "C", я также удалил конструктор, имеющий параметр как объект "Контейнер".
Когда я перекомпилировал это действие и обновил его DLL. В конструкторе рабочих процессов Activity не обновлялся, т. Е. Его набор инструментов все еще указывал на старую DLL.
Чтобы разрешить это, я закрываю и снова открываю VS, VOILA, дизайнер, теперь получает обновленную активность с новыми свойствами.
Я думаю, это было ограничением VS toolbox, что он не обновляется, несмотря на то, что dll обновляется.
Спасибо!
Можете ли вы получить доступ к исходному XAML для рабочего процесса? Посмотрите, включен ли объект "Контейнер", и нужно ли его там иметь. Если вы можете удалить его и при этом правильно запустить рабочий процесс, это может решить проблему.