Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/320.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 如何在global.asax文件的ASP.Net MVC 5中捕获会话超时时的会话值_C#_Asp.net_Asp.net Mvc_Session_Asp.net Mvc 5 - Fatal编程技术网

C# 如何在global.asax文件的ASP.Net MVC 5中捕获会话超时时的会话值

C# 如何在global.asax文件的ASP.Net MVC 5中捕获会话超时时的会话值,c#,asp.net,asp.net-mvc,session,asp.net-mvc-5,C#,Asp.net,Asp.net Mvc,Session,Asp.net Mvc 5,我想在ASP.NETMVC5应用程序中会话超时时访问会话中的值。下面是我所做的 <system.web> <sessionState timeout="3"></sessionState> </system.web> 现在我想在会话结束时访问它。所以在global.asax中,我写了下面的代码 public void Session_OnEnd() { if (System.Web.Ht

我想在ASP.NETMVC5应用程序中会话超时时访问会话中的值。下面是我所做的

  <system.web>
    <sessionState timeout="3"></sessionState>
  </system.web>
现在我想在会话结束时访问它。所以在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_oned()方法中将异常作为NULL引用。请引导我。我错过什么了吗?我只想访问会话变量。或者不可能在会话即将超时之前捕获会话值


请注意,当用户登录时,我正在设置会话变量。因此,会话变量代码的设置不在“会话启动”中。只是想把这些信息公布出来。但我确信,当按照我的代码流调用session_end()时,该值已在会话中正确设置。

当您点击时,会话已被放弃。有几种javascript技术可以将用户引导到警告页面或执行保持活动心跳。上面的链接告诉我可以。请引导我。问题是你们想完成什么?如果你想警告用户他们的会话即将超时,你可以在你的_布局中使用一点javascript。如果你想跟踪登录的用户,等等。我建议使用信号器。并不是每一个丢失的会话都会发生那个事件。
  public void Session_OnEnd()
        {
            if (System.Web.HttpContext.Current.Session["Val"] != null)  // EXCEPTION
            {
                int TenantSessionId = (int)System.Web.HttpContext.Current.Session["Val"];
            }

        }