我的应用程序中有ajax轮询,它检查一些关键数据是否已进入数据库。现在,我的应用程序已将超时设置为30分钟,该超时设置在除存在ajax轮询的页面之外的所有其他页面上均能完美运行。它在该页面上没有超时,因为它具有连续轮询
我不能使用
[SessionState(SessionStateBehavior.Disabled)]
针对该特定操作,因为它从会话中获取了一些数据(例如,用户ID)
我也尝试在Javascript中使用setInterval
var sessionTimeout = (@Convert.ToInt32(HttpContext.Current.Session.Timeout)+1) * 60000
var sessionTimeoutInterval;
function startSessionInterval() {
sessionTimeoutInterval = window.setInterval(
function () {
ptc_session_helper.IsSessionAlive('@Url.Action("IsSessionEx", "Session")', '@Url.Action("SignOut", "AccountName")')
}, sessionTimeout);
}
function clearSessionInterval()
{
clearInterval(sessionTimeoutInterval);
}
startSessionInterval()
//Reset Timer
$(document).ajaxComplete(function () {
clearSessionInterval();
startSessionInterval();
});
仍然无法正常工作。
还有其他方法吗?