在我的ASP.NET项目中,我使用“进程内”会话状态的会话管理和当前的过期时间设置为 -ASP.NET“是InProc”超时 - 在年底执行JavaScript代码
<sessionState mode="InProc" timeout="1" ></sessionState>
即会话超时是1分钟。
在“空闲”1分钟结束时,应用程序被重定向到会话过期的视图或页面。
在这个重定向发生之前,我想在同一个控制器上下文中执行一些javascript代码。这里的另一个要点是会话过期代码除了框架的内置机制之外,还从其他地方调用。
我试着创建一个javascript'poll'函数来检查会话超时,然后在会话失效时执行一些操作,但是这样做是在每次xhr调用时都会重新验证会话。
基本思想是通过某种机制向JavaScript代码通知会话超时。代码库是一个现有的代码库,对于像我这样的新开发的.NET开发人员来说,它是相当大的。
任何帮助表示赞赏。
如果您在当前会话时间内与服务器进行任何交互,该会话将始终进一步扩展。这一切都必须在客户端没有任何电话到服务器 – haraman
看看['onbeforeunload'事件](http://www.w3schools.com/jsref/event_onbeforeunload.asp)。这可能是你需要的。 –
@haraman - 你是对的。任何对服务器的调用都会延长会话。为了在客户端完成这一切,我必须在客户端引入一个“空闲”检查逻辑,这与服务器已经在做的事情不同。不知道这是否是正确的解决方案。 – FrailWords