0

好的,我是 SharePoint 和 ASP 的新手,所以请耐心等待...

我想将对象持久化到会话数组中,以维护回发之间的内容。我在 web.config 文件中启用了会话数组,如果我使用属于 .NET 框架的基本值类型或对象,一切正常。

但是,如果我尝试保存我为其定义类的对象的实例,我会收到一条错误消息“发生意外错误。”,即使我可以单步执行程序而不会引发任何错误。

我必须做什么才能将我的对象保存到会话数组中?


编辑:

因此,按照建议启动调用堆栈后,我收到以下错误:

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

我想我可以序列化我的对象...配置文件中是否有设置使其不需要 SQL Server?

4

2 回答 2

2

使用 [Serializeable] 属性标记您的自定义类。如果您的类具有引用其他自定义类的字段,请确保这些字段也具有 [Serializeable] 属性

于 2009-11-26T00:30:40.493 回答
0

是否在 web.config 中启用了 SharePoint 会话 HttpModule?

<add name="Session" type="System.Web.SessionState.SessionStateModule"/>

如果您在 web.config 文件中设置 Callstack="true",您可能会看到“[错误原因],因为会话状态已禁用”

于 2009-11-25T23:56:52.140 回答