Настраиваемый последовательный рабочий процесс SharePoint «System.Workflow.Runtime.Hosting.PersistenceException» - PullRequest
0 голосов
/ 23 марта 2012

Я получаю следующую ошибку в журналах 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 ]

1 голос
/ 24 марта 2012

Проблема заключалась в том, что когда я изменил класс Component на Sequential Activity, у меня были свойства Activity, например. «А» и «Б». Затем я добавил это действие в панель инструментов VS. На этом этапе все работало нормально.

Теперь, когда я изменил код действия, чтобы изменить его свойство на «A» и «C», я также удалил конструктор, имеющий параметр как объект «Контейнер».

Когда я перекомпилировал это действие и обновил его DLL. В конструкторе рабочих процессов Activity не обновлялся, т. Е. Его набор инструментов все еще указывал на старую dll.

К Разрешить , для этого я закрываю и снова открываю VS, VOILA, дизайнер теперь получает обновленную активность с новыми свойствами.

Это было, я думаю, ограничение VS toolbox, что он не обновляется, несмотря на то, что dll для этого действия обновлено.

Спасибо!

0 голосов
/ 24 марта 2012

Можете ли вы получить доступ к исходному XAML для рабочего процесса? Посмотрите, включен ли объект «Контейнер», и нужно ли его там иметь. Если вы можете удалить его и все еще правильно запустить рабочий процесс, это может решить проблему.

...