如何在global.asax文件

时间:2017-01-25 20:25:38

标签: c# asp.net asp.net-mvc session asp.net-mvc-5

当我的ASP.Net MVC 5应用程序中的会话超时时,我想访问会话中的值。所以,下面是我做的。

  <system.web>
    <sessionState timeout="3"></sessionState>
  </system.web>

我在会话变量

中添加了一个值
System.Web.HttpContext.Current.Session["Val"] = myVal;

现在我想在会话结束时访问它。所以在global.asax中我写了下面的代码。

  public void Session_OnEnd()
        {
            if (System.Web.HttpContext.Current.Session["Val"] != null)  // EXCEPTION
            {
                int TenantSessionId = (int)System.Web.HttpContext.Current.Session["Val"];
            }

        }

但是在超时(3分钟)之后,我在Session_OnEnd()方法中得到异常作为NULL REFERENCE。请指导我。我错过了什么吗?我只想访问会话变量。或者是否无法在会话即将结束之前捕获会话值?

请注意,我在用户登录时设置会话变量。因此会话变量代码的设置不在“Session_start”中。只是想把这些信息拿出来。但我确信在根据我的代码流调用session_end()时会在会话中正确设置该值。

0 个答案:

没有答案