我正在尝试为我的asp.net应用程序实现StateServer会话管理。我发现我的会话中的每个对象都需要可序列化。
为此我已经为每个类添加了 Serializable 标记。但它显示上面的错误消息。然后我尝试了Linq-To-Sql功能,以便至少对象将被序列化。但它也没有用。我应该怎么做。
答案 0 :(得分:1)
问题是你在会话中放入了一些不可序列化的内容(正如你所怀疑的那样)。
由于您已将自己的课程标记为Serializable
,因此有几种可能的可能性:
您继承了非Serializable
的内容(因此标记您继承的课程Serializable
无效)。
您尝试将某些内容存储在不属于您的某个类的会话中,并且不可序列化,很可能是框架类。常见示例可能是EntitySet
,DataTable
或Dictionary<>
。
此外,应从完整的异常信息中明确指出导致问题的确切类。
例如,以下是我linked to问题中显示的错误消息:
[SerializationException: Type 'Gebruiker' in Assembly 'App_Code.qzuhycmn, Version=0.0.0.0, Culture=neutral, PublicKeyToken=null' is not marked as serializable.]