当会话超时时ASP.Net(MVC)设置了什么状态代码?

时间:2009-10-27 04:42:56

标签: asp.net javascript session-timeout

每当ASP.Net会话超时时,我们都需要将用户重定向到会话超时页面。我们通过AJAX调用获取大部分内容,用户永远不会离开默认页面 有没有办法在客户端(在Javascript中)检测会话超时,而无需对服务器端代码进行任何更改。我们可以检查HTTP状态代码吗?

亲切的问候,

3 个答案:

答案 0 :(得分:1)

您只需设置一个等于服务器上会话超时参数的计时器即可。如果用户处于活动状态,则会话永远不会超时,如果他关闭浏览器,它将自动结束。所以你唯一的情况是打开页面,但用户没有做任何事情。在这种情况下,只要您继续发送ajax请求(您可以在后台执行此操作),您就可以保持会话处于活动状态,或者设置一个指示不活动时间的计时器。

答案 1 :(得分:0)

默认情况下,当会话超时时,asp.net不会返回特殊的状态代码。您可以在服务器端检测到这一点,并在会话超时时设置特定的状态代码。您还可以在会话超时时设置自定义标头或以特定方式撰写内容,以通知客户端的代码。

答案 2 :(得分:0)

我有一些类似的场景,以下代码解决了我的问题。 //在母版页中: // 180是会话超时时间....              函数SessionTimeOuts(){             self.setTimeout(“RedirectToLogin();”,'180');         }

    function RedirectToLogin() {
        window.location.href = '../login.aspx';
    }

</script>
主页面正文标记中的

使用onload =“SessionTimeOuts()”