会话过期时是否关闭浏览器?asp.net

会话过期时是否关闭浏览器?asp.net,asp.net,session,code-behind,Asp.net,Session,Code Behind,我有一个asp.net网页,在会话到期之前有60秒的空闲时间窗口。是否有办法(通过asp或c#代码隐藏)关闭浏览器,或者最好只关闭会话结束事件中的选项卡 我在上看到过很多帖子,它们想做相反的事情(在浏览器关闭时结束会话),但不是我需要的。您不能关闭浏览器,但可以通过执行以下操作重定向到“会话已过期”页面: protected override void OnPreRender(EventArgs e) { base.OnPreRender(e);

我有一个asp.net网页,在会话到期之前有60秒的空闲时间窗口。是否有办法(通过asp或c#代码隐藏)关闭浏览器,或者最好只关闭会话结束事件中的选项卡


我在上看到过很多帖子,它们想做相反的事情(在浏览器关闭时结束会话),但不是我需要的。

您不能关闭浏览器,但可以通过执行以下操作重定向到“会话已过期”页面:

    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")));
    }
protected override void OnPreRender(事件参数e)
{
基于预渲染(e);
this.PageHead.Controls.Add(新的LiteralControl(
string.Format(“”,
Session.Timeout*60,“SessionExpired.aspx”);
}

您可以看看这个示例-

它基本上是在超时之前警告用户(例如,美国银行网站)。一旦达到时间限制,将用户重定向到注销页面


仅供参考:如果您在没有警告的情况下重定向或关闭页面,用户会很生气。

我认为您应该放弃这个想法……您可以使用javascript计时器。大多数网上银行应用程序使用客户端javascript计时器并重定向到会话过期页面。@Johnny5我希望可以,但这是客户的请求。@iamjordan我就是这么想的多特。作为程序员,向客户解释为什么他们不能做某些事情是我们工作的一部分。。。自动关闭窗口可能会让最终用户非常恼火。如果用户有多个打开的窗口,而会话实际上是从其他窗口保持活动状态,该怎么办?我已经尝试过了,但在运行SessionExpired的Page_Load事件时遇到了问题。。如果直接启动,我在那里输入的任何代码都可以工作,但是如果页面被重定向到,它就不会关闭。知道吗?你为什么要关闭浏览器?我同意如果浏览器刚刚关闭会让用户发疯。您可以执行
window.close()
在javascript中,如果您真的想要的话。客户特别要求它在闲置时关闭。我会尽力说服他们同意锁定/注销。谢谢你的帮助