仙波 2019-01-07 14:28 采纳率: 0%
浏览 1345

为什么session第一次取值总是NULL

新开浏览器访问我写的页面第一次总是session取不到值
index判断没有session会跳转login,第一次从login输入账号密码点登录进入index,会因为取不到session被跳转回login,不关浏览器的情况下第二次在login输账号密码登录就正常进入index不会被跳转,关掉浏览器再来就又是第一次登录会被跳回login。

判断session代码:

            string re = "";
            log.Error(Session["dept"]);
            if (Session["dept"] != null && Session["dept"].ToString() != "")
            {
                re = Session["dept"].ToString();
            }
            else
            {
                re = "请先登录";
            }

登录相关代码:

try
            {
                if (dt.Rows.Count == 1)
                {
                    string dept = dt.Rows[0]["f_unitname"].ToString();
                    Session["dept"] = dept;
                    log.Debug(Session["dept"]);
                    re = "1";
                }
            }
            catch (Exception)
            {
                re = "0";
            }

日志输出

2019-01-07 14:17:06,923 [5] ERROR HomeController - 
2019-01-07 14:17:19,739 [8] DEBUG HomeController - 安监室
2019-01-07 14:17:19,918 [6] ERROR HomeController - 
2019-01-07 14:17:26,525 [7] DEBUG HomeController - 安监室
2019-01-07 14:17:26,688 [11] ERROR HomeController - 安监室

登录时session已经赋值,但是第一次取不到,之后跳转回登录页面再登录就没有问题了。

  • 写回答

3条回答 默认 最新

  • eye_water 2019-01-07 15:49
    关注

    session的值存在字典里肯定有问题啊,程序重启内存会被释放,之前的字典没有了,就要重新登录了

    建议存在数据库里面

    评论

报告相同问题?

悬赏问题

  • ¥15 FLUENT如何实现在堆积颗粒的上表面加载高斯热源
  • ¥30 截图中的mathematics程序转换成matlab
  • ¥15 动力学代码报错,维度不匹配
  • ¥15 Power query添加列问题
  • ¥50 Kubernetes&Fission&Eleasticsearch
  • ¥15 報錯:Person is not mapped,如何解決?
  • ¥15 c++头文件不能识别CDialog
  • ¥15 Excel发现不可读取的内容
  • ¥15 关于#stm32#的问题:CANOpen的PDO同步传输问题
  • ¥20 yolov5自定义Prune报错,如何解决?