【发布时间】:2018-04-19 20:48:57
【问题描述】:
我的 MVC Web 应用程序使用 asp.net 会话管理。会话有默认超时 20 分钟。在会话超时时,用户被重定向到主页。我的应用程序使用 SessionTimeout ActionFilterAttribute 来处理会话超时。 SessionState 存储在服务器中。
问题: 即使发生会话超时,当用户返回特定操作方法时,我也需要为该用户续订会话并允许继续,而不是重定向到主页。
我尝试使用 SessionTimeout ActionFilterAttribute 中的 OnActionExecuting 方法来识别会话超时,如果请求中的操作是该特定操作方法,则允许用户继续执行该操作。
但它似乎不起作用。它只是将用户重定向到主页。 我不确定如何继续。
【问题讨论】:
-
我已经有几年没有处理任何与会话相关的事情了,但是会话一旦超时就不会消失了吗?这意味着你不能“更新”它。我认为你有两个选择。您可以在配置中延长超时时间,也可以创建某种保活脚本,以比超时时间更短的间隔调用服务器。
-
无论您所说的会话到期是正确的,我想做的是创建一个新会话并将新会话与用户关联并导航到请求的操作方法而不是重定向到主页页面,会话超时。这可能吗?
-
我不相信不重新认证是可能的。
标签: c# asp.net .net asp.net-mvc session