【发布时间】:2011-05-04 14:43:46
【问题描述】:
如果其他人有同样的问题并得到解决,将不胜感激分享他的解决方案:
问题: 我在 asp.net mvc3 中完成了网站,会话经常过期,在几秒钟到最多 5 分钟之间。在 web.config 中,我将超时设置为 2880 分钟,我还将 sessionstate 设置为 stateserver。我还删除了超时以使用默认超时,仍然有问题:
<sessionState mode="StateServer"></sessionState>
<authentication mode="Forms">
<forms loginUrl="~/Account/LogOn"/>
</authentication>
我做了一个示例网站,只包含登录功能和一些数据库交互来模拟环境,然后我得到了一个更稳定的超时时间 2 分 50 秒(测试了 9 次),因为我设置了 2880 仍然不正确分钟在 web.config 中。
在用户登录时的代码内部,我创建了一个 AuthenticateTicket 并将其保存到 cookie,然后在安全页面中我检查了 User.Identity 并且控制器具有过滤器 [Authorize],因此当会话到期时,我被发送到登录页面。
在同一台托管服务器上,我有其他使用 .NET 3.5 Web 表单的旧应用程序,对他们来说会话没问题,只有新的 mvc3 和 mvc3 会话经常过期。感谢您提供任何线索。
【问题讨论】:
-
托管在 Arvixe 服务器中
标签: asp.net-mvc-3 session-timeout