0

我正在尝试将特定 Web 部件添加到我的 SharePoint 网站,但出现错误

“System.Runtime.Serialization.SerializationException:程序集‘[MyAssembly]’中的类型‘[MyType]’未标记为可序列化。”

我知道通常有两个解决方法:将对象标记为可序列化或将 Web 应用程序的会话状态更改为"InProc"( msdn )。我的对象具有对 COM 对象的成员引用,因此无法序列化,因此我想将会话状态模式更改为 InProc。该站点的 web.config 文件指定了这一点,并且它不会被 machine.config 覆盖。

这个错误还有其他原因吗?尽管我的 web.config 文件指示,SharePoint 是否可以使用另一种存储模式?有没有办法确定 ASP.Net 站点使用的存储模式?

完整的堆栈跟踪是:

 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.WriteObjectInfo.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.Web.Util.AltSerialization.WriteValueToStream(Object value, BinaryWriter writer

)

4

0 回答 0