我想在没有活动时重定向回主页。 但是,我没有用户登录或需要有一个。但是,我希望能够在没有活动的情况下重定向回主页。
我在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)
{
}
什么是简单的解决方案?谢谢
答案 0 :(得分:1)
如果我理解您的问题,如果用户在某段时间内未执行任何操作,您希望重定向用户的浏览器。
在这种情况下 - 服务器端行为对您没有帮助。连接已经关闭。 global.asax Session_end将在会话结束时触发,并且此时不会连接客户端。 也许您应该阅读有关ASP.NET Page Lifecycle的更多信息。
然而,您可能需要的是某种形式的客户端行为,例如Javascript,在特定超时后,可以重定向用户。 请注意,这有很多问题,包括用户可能会使用多个标签,因此很难准确了解会话何时超时。