最近我在玩Windows Server 2008,并想为我的web应用程序做一些配置。我已经将我的应用程序的会话状态更改为"状态服务器",以便它可以使用更多的工作进程(现在它被设置为4)。
之后,当我试图登录到应用程序时,我得到了这个错误。
无法序列化会话状态。在"StateServer"one_answers"SQLServer"模式下,ASP. sqlNET将序列化会话状态对象,因此不可序列化的对象或MarshalByRef对象是不允许的。如果在' custom '模式下由自定义会话状态存储完成类似的序列化,则适用相同的限制。
我怀疑它与我声明的EntitySet有关,因为当错误发生时,我在堆栈跟踪中看到了这一点:
[SerializationException:类型"System.Data.Linq.EntityRef"1 [[CtcSystem.Domain.Entities.Account.Account,CtcSystem。领域,版本=1.0.0.0,文化=中性,PublicKeyToken=null]]' in Assembly 'System.Data。= 4.0.0.0 Linq,版本,Culture=neutral, PublicKeyToken=b77a5c561934e089'没有标记为可序列化的。)
我在我的类中使用了[Serializable]标签,那么,我是否有任何方法可以使EntitySet序列化,以便应用程序可以在状态服务器下运行?
谢谢
最好的方法是在部分类上实现isserializable接口…