【发布时间】:2014-12-16 19:30:06
【问题描述】:
我们有一个 ASP.Net 应用程序,它的会话(和 cookie)有 20 分钟的滑动到期时间。 但是,我们有一些 AJAX 正在轮询服务器以获取新信息。这样做的缺点当然是会话将无限期地继续,因为它被轮询调用保持活动状态,导致到期时间被刷新。有没有办法防止这种情况 - 即只允许在非 ajax 调用上刷新会话?
关闭滑动到期并不是一个真正的选择,因为这是一个业务用户将在电话之间的大部分时间里使用的应用程序。
关于此讨论的其他 Stackoverflow 讨论关于维护 2 个单独的应用程序(一个用于经过身份验证的调用,一个用于未经身份验证的调用。我不确定这是否是一个选项,因为所有调用都需要经过身份验证。
有什么想法吗?
【问题讨论】:
-
+1! this 是否提供了一些想法?
-
您可以尝试禁用请求的会话状态:codeproject.com/Articles/201879/…
-
澄清一下——我们想要实现的是,如果用户没有与页面交互,则允许会话在 20 分钟后过期——即会话不会因为以下原因而保持活动状态ajax 轮询。
-
你可以试试这个解决方案,将会话超时和登录时间添加到本地存储中,并在javascript头部检查用户是否超过超时
标签: ajax asp.net-mvc session cookies