无效的sharepoint会话对象

时间:2009-11-25 23:51:30

标签: c# sharepoint session-variables

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

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

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

如何将对象保存到会话数组?


编辑:

所以在按照建议启动callstack后,我收到以下错误:

  

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

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

2 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:0)

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

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

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