当我的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()时会在会话中正确设置该值。