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