为什么我的会话变量丢失

时间:2016-06-27 10:08:05

标签: c# asp.net-mvc session

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

还有人说,如果他们希望改变输入以获得不同的结果,则该功能用于用户返回调查问卷。然而,在向后移动时,变量消失了,我的控制器操作代码失败并返回空引用异常。

有关为何这样做的任何想法?我使用以下方式将变量添加到会话:

Session["UserInfo"] = myObject;

并像这样检索

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

我失去这些物品的任何原因。如果我返回并再次单击“提交”,它们将重新进入会话并可在以下页面上使用。我不认为这是会话超时问题,因为我在20分钟内做得很好,通常像30秒(因为我正在开发系统,测试和进行更改等)。

1 个答案:

答案 0 :(得分:0)

我已经解决了这个问题,我的问题是我的动作控制器上的GET和POST请求。我没有明确指定两个控制器动作(HTTPGET和HTTPPOST)所以所有请求都进行相同的操作,因此作为ajax get请求,因为没有发布任何内容而将会话变量覆盖为NULL。

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