会话对象不存储值

本文关键字:存储 对象 会话 | 更新日期: 2023-09-27 18:36:27

我目前正在创建一个网页,我想将与网站的当前访问者相关的一个对象转移到另一个页面。我选择对会话项目执行此操作。但是似乎有一个问题,我在一页上声明它的价值是这样的:

Session["CurrentAccount"] = new Account(tb_username.text, tb_password.text);

并希望在另一个页面上检索这些数据,如下所示:

Account currAccount = (Account)Session["CurrentAccount"];

每当我尝试这样做时,都会发生空引用异常。帐户类未标记为可序列化。并且这两个页面都在同一个应用程序下运行。

编辑:我试图做同样的事情,但将常规字符串绑定到会话,这也不起作用。

会话对象不存储值

可序列化仅对 SQL 会话计数。这将在将其放入会话时引发异常。

直接将会话分配给"新对象"时,我遇到了同样的问题。首先尝试创建实例,然后将实例分配给会话!

确保已启用读/写会话。

看到这个:http://msdn.microsoft.com/en-us/library/system.web.configuration.pagessection.enablesessionstate.aspx

我已经弄清楚出了什么问题,显然您无法将自定义对象存储到会话中,具有完全相同的问题,但用常规字符串替换帐户,它确实有效。谢谢你的帮助。

TL;DR 您显然无法在会话中存储标准对象以外的对象。