2

最近我在玩 Windows Server 2008,想为我的 web 应用程序做一些配置。我已将我的应用程序的会话状态更改为“状态服务器”,以便它可以利用更多的工作流程(现在它设置为 4)。

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

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

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

[SerializationException:在程序集 'System .Data.Linq,Version=4.0.0.0,Culture=neutral,PublicKeyToken=b77a5c561934e089' 未标记为可序列化。]

我在我的类上使用了[Serializable]标签,那么我有什么办法可以使 EntitySet 可序列化,以便应用程序可以在 State Server 下运行?

谢谢

4

1 回答 1

0

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

于 2012-05-07T08:01:54.277 回答