我有一个在SharePoint中托管的状态机工作流,在一个状态下有延迟活动。当计时器触发延迟活动时,我收到序列化错误:“Engine RunWorkflow:System.Runtime.Serialization.SerializationException:无法获取成员'SendEmail_MethodInvoking'”。
此错误引用的方法不在同一状态,并且在工作流正常调用它时工作正常。
有什么想法吗?
答案 0 :(得分:1)
重新启动“Windows SharePoint计时器服务”。根本原因是,只要您的工作流有延迟活动,服务(SPTimerV3)就会触发事件,在它触发之前,它必须从其bin或GAC加载程序集,只有一个文件(模块加载) )基于workflow.xml文件中指定的程序集信息加载。
在更改工作流活动后部署新二进制文件时,SPTimerV3不知道新添加的二进制文件;除非你重置时间,否则它不会重新加载它。除非您执行重置,否则由于类型不匹配,持久性(序列化或反序列化)或程序集加载将失败。