设置不活动后的会话超时
本文关键字:会话 超时 不活动 设置 | 更新日期: 2023-09-27 18:27:28
我想在没有活动时重定向回主页。然而,我没有用户登录或需要一个。但是,我希望能够在没有活动的情况下重定向回主页。
我在web.conf 中设置了这个
<system.web>
<sessionState mode="InProc" timeout="2">
然后,我在主页中设置了这个
Session["UserId"] = 1;
我也试过这个,但功能甚至没有启动。
protected void Page_Init(object sender, EventArgs e)
{
CheckSession();
}
private void CheckSession()
{
if (Session["UserId"] == null)
{
Response.Redirect("KioskHome.aspx");
}
}
我可以使用global.asax文件吗?
void Session_Start(object sender, EventArgs e)
{
// Code that runs when a new session is started
}
void Session_End(object sender, EventArgs e)
{
}
什么是简单的解决方案?感谢
如果我理解你的问题,如果用户在一段时间内没有执行任何操作,你需要重定向用户的浏览器。
在这种情况下,服务器端行为对您没有帮助。连接已关闭。global.asax Session_end将在会话结束时激发,并且此时不会连接客户端。也许您应该阅读更多关于ASP.NET页面生命周期的内容。
然而,您可能需要某种形式的客户端行为,如Javascript,它可以在特定的超时后重定向用户。请注意,这有很多问题,包括用户可能使用多个选项卡,因此很难准确知道会话何时超时。