为什么我的会话变量丢失了

本文关键字:变量 我的 会话 为什么 | 更新日期: 2023-09-27 17:51:22

我的会话变量有问题。我正在向会话中添加对象,以便当我导航到下一页(构建一种问卷)时,我可以在另一个控制器动作中检索这些值,并使用存储的值进行一些计算。

还说,如果用户希望更改输入以获得不同的结果,则该功能用于用户向后浏览问卷。然而,在向后,变量消失了,我的控制器动作代码失败,并带回一个空引用异常。

有什么想法吗?我正在使用以下方式将变量添加到会话:

Session["UserInfo"] = myObject;

和像这样检索

InputData data = (InputData) Session["UserInfo"];

我丢失这些物品的任何原因。如果我返回并再次点击提交,它们就会回到会话中并在接下来的页面上可用。我不认为这是一个会话超时问题,因为我在20分钟内做得很好,通常像30秒(因为我正在开发系统,测试和做出改变等)

为什么我的会话变量丢失了

我已经解决了这个问题,我的问题是我的动作控制器上的GET和POST请求。我没有明确指定两个控制器动作(HTTPGET和HTTPPOST),所以所有请求都指向相同的动作,因此覆盖会话变量NULL,因为没有任何东西被张贴,作为ajax get请求。

设置两个操作结果HTTP POST和HTTP GET,一个带有输入参数,另一个没有。我从来没有想过,直到喝了一杯咖啡和一个新鲜的大脑。