无法序列化与System.Data.Linq相关的会话状态。 EntitySet的

时间:2011-11-23 07:53:16

标签: asp.net-mvc-3 linq-to-sql serialization session-state entityset

最近我正在玩Windows Server 2008, 并希望为我的Web应用程序进行一些配置。 我已将我的应用程序的会话状态更改为“状态服务器”,因此它可以使用更多的工作流程(现在它设置为4)。

之后,当我尝试登录应用程序时出现此错误。

无法序列化会话状态。在“StateServer”和“SQLServer”模式下,ASP.NET将序列化会话状态对象,因此不允许使用不可序列化的对象或MarshalByRef对象。如果自定义会话状态存储在“自定义”模式下完成类似的序列化,则适用相同的限制。

我怀疑它与我声明的EntitySet有关,因为我在发生错误时在堆栈跟踪中看到了这一点:

  

[SerializationException:Type   “System.Data.Linq.EntityRef`1 [[CtcSystem.Domain.Entities.Account.Account,   CtcSystem.Domain,Version = 1.0.0.0,Culture = neutral,   在Assembly'System.Data.Linq,Version = 4.0.0.0中的PublicKeyToken = null]]',   Culture = neutral,PublicKeyToken = b77a5c561934e089'未标记为   序列化的。]

我在课程中使用了 [Serializable] 标记, 那么我有什么方法可以使EntitySet可序列化,以便应用程序可以在State Server下运行吗?

由于

1 个答案:

答案 0 :(得分:0)

最好的方法是在部分类上实现ISerializable接口......