【发布时间】:2014-01-07 13:01:54
【问题描述】:
我正在尝试为我的 asp.net 应用程序实现 StateServer 会话管理。我开始知道我的会话中的每个对象都需要可序列化。
为此,我为每个类添加了 Serializable 标签。但它显示了上面的错误消息。然后我尝试了 Linq-To-Sql 功能,以便至少将对象序列化。但它也没有奏效。我应该怎么做。
【问题讨论】:
标签: c# asp.net session serialization
我正在尝试为我的 asp.net 应用程序实现 StateServer 会话管理。我开始知道我的会话中的每个对象都需要可序列化。
为此,我为每个类添加了 Serializable 标签。但它显示了上面的错误消息。然后我尝试了 Linq-To-Sql 功能,以便至少将对象序列化。但它也没有奏效。我应该怎么做。
【问题讨论】:
标签: c# asp.net session serialization
问题是您在会话中放入了不可序列化的内容(正如您所怀疑的那样)。
由于您已将自己的课程标记为Serializable,因此有两种可能的可能性:
你继承自非 Serializable 的东西(因此标记你继承的类 Serializable 无济于事)。
您试图在会话中存储一些不是您的类之一且不可序列化的东西,很可能是一个框架类。常见的例子可能是EntitySet、DataTable 或Dictionary<>。
还应该从完整的异常信息中明确导致问题的确切类。
例如,问题 Ive linked to 中显示的错误消息如下:
[SerializationException: Type 'Gebruiker' in Assembly 'App_Code.qzuhycmn, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' is not marked as serializable.]
【讨论】: