我有一个 asp.net 网页,在会话到期之前有 60 秒的空闲时间窗口。有没有办法(通过 asp 或 c# 代码)在 Session_End 事件中关闭浏览器- 或者最好只关闭选项卡?
我已经看到很多关于 SO 的帖子想要做相反的事情(在浏览器关闭时结束会话),但不是我需要的。
我有一个 asp.net 网页,在会话到期之前有 60 秒的空闲时间窗口。有没有办法(通过 asp 或 c# 代码)在 Session_End 事件中关闭浏览器- 或者最好只关闭选项卡?
我已经看到很多关于 SO 的帖子想要做相反的事情(在浏览器关闭时结束会话),但不是我需要的。
您无法关闭浏览器,但可以通过执行以下操作重定向到“会话已过期”页面:
protected override void OnPreRender(EventArgs e)
{
base.OnPreRender(e);
this.PageHead.Controls.Add(new LiteralControl(
string.Format("<meta http-equiv='refresh' content='{0};url={1}'>",
Session.Timeout * 60, "SessionExpired.aspx")));
}
你可以看看这个例子 - Alert Session Time out in ASP.NET
它基本上在超时之前警告用户(例如,美国银行网站)。一旦达到时间限制,将用户重定向到注销页面。
仅供参考:如果您在没有警告的情况下重定向或关闭页面,用户会生气。