【问题标题】:Why is my session variable being lost为什么我的会话变量丢失了
【发布时间】:2016-07-01 18:56:51
【问题描述】:

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

据说,如果用户希望更改输入以获得不同的结果,则此功能用于让用户回溯调查问卷。然而,当往回走时,变量消失了,我的控制器操作代码失败并带回了一个空引用异常。

对为什么这样做有任何想法吗?我正在使用以下方式将变量添加到会话中:

Session["UserInfo"] = myObject;

然后像这样检索

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

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

【问题讨论】:

  • 你试过this吗?

标签: c# asp.net-mvc session


【解决方案1】:

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

设置两个动作结果 HTTP POST 和 HTTP GET 一个有输入参数,另一个没有。在喝杯咖啡和新鲜大脑之前,我从来没有想过。

【讨论】:

    猜你喜欢
    • 2014-08-23
    • 1970-01-01
    • 2010-09-20
    • 2012-01-10
    • 1970-01-01
    • 2011-04-15
    • 1970-01-01
    • 2011-05-31
    相关资源
    最近更新 更多