通过jquery ajax请求检查aspx会话是否过期
本文关键字:会话 是否 过期 aspx 检查 jquery ajax 请求 通过 | 更新日期: 2023-09-27 18:18:52
我使用asp.net来管理我网站的会话状态。我还使用jquery和$.ajax(...)
进行同步和异步请求。
我会创建一个javascript间隔,以便不时发出ajax请求,如下所示:
<script>
$(document).ready(function () {
setInterval(function (){
$.ajax({
url: 'WebMethodhere',
type: 'GET',
success: function (result) {
if(result!='true')
{
//It means that the Session expired, so do somethig
}
}
})
},3000);
});
</script>
在这个例子中我使用了3000ms,但是时间由您决定。
你的webmethod可以很简单:
if(Session["WhateverSession"]==null)
{
return false;
}
else
{
return true;
}
有两种方法可以实现。
方法#1:创建一个通用处理程序,并实现ireadonlysessionstate接口,从该处理程序访问会话变量。使用ajax get请求并访问这个通用处理程序,该处理程序提供会话是否处于活动状态。
方法# 2:布置一个公共方法的页面(WebMethod)(使用System.Web.Services)和访问该方法通过ajax get请求提供会话是否活跃。
但是所有这些方法都应该只用于检查会话是活动的还是过期的。但如果会话是活跃的,它会更新您的会话-这可能不是理想的。也请勾选该选项。
最简单的解决方案是每隔一段时间强制返回一个帖子。
<meta http-equiv="refresh" content="1800">