我在页面加载时设置了Session["UserID"]
。像
if(!IsPostBack) {
Session["UserID"] = 1222;
}
我正在使用HttpContext.Current.Session [“UserID”]来验证用户会话超时。
我的网络配置设置如下,
<sessionState mode="InProc" cookieless="false" timeout="20"/>
20分钟Session["UserID"]
对象为空,但同时,如果我验证HttpContext.Current.Session["UserID"]
它显示用户ID。
请在会话超时后告诉我HttpContext.Current.Session["UserID"]
如何为空
答案 0 :(得分:0)
Session
和System.Web.UI.Page
类的System.Web.UI.UserControl
属性是对HttpContext.Current.Session
的引用。
你引用session["UserId"]
(注意小写的's') - 但你没有说明这是什么引用。据推测它是在您自己的代码中定义的,并没有引用HttpContext.Current.Session
。
答案 1 :(得分:0)
请检查您是否在自定义控制器库或派生类中设置了会话值。
作为示例,如果您在 ActionFilterAttribute 检查会话过期重定向的会话值。请确保您的控制器继承的调用不存在会话集方法。
因为在调用控制器操作方法之前,将调用控制器构造函数。
我相信这会对某人有所帮助