ASP.NET 会话状态超时
我在 IIS7 上使用 ASP.NET 网站,在 web.config 中我有:
<sessionState mode="InProc" timeout="20"></sessionState>
但会话不会保持 20 分钟,它的工作方式很奇怪,有时它会在 1 分钟或更短的时间内过期,有时只是重定向到其他页面。我需要使用模式=“InProc”。
谁能帮助我,出了什么问题以及如何解决这个问题? 谢谢!
I use ASP.NET website on IIS7 where in web.config I have:
<sessionState mode="InProc" timeout="20"></sessionState>
But session doesn't keep 20 minutes, it works very strange, sometimes it expires in 1 minute or less, sometimes just redirect to other page. I need use mode="InProc".
Who can help me, what is wrong and how to resolve this problem?
Thanks!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
如果您的应用程序抛出未处理的异常,则该应用程序可能会回收。或者,它可能由于内存压力甚至只是由于 IIS 中的错误设置而回收。这会导致您丢失会话。您可以在 global.asax 的 Application_End 事件处理程序中放置一些日志记录代码来检查此情况。
If you have an application that is throwing unhandled exceptions, the application could recycle. Or, it could recycle because of memory pressure or even just from the wrong settings in IIS. This would cause you to lose session. You can put some logging code in the Application_End Eventhandler in global.asax to check for this condition.
应用程序池回收? (IIS 设置)。
无论如何,您可以检测并处理 global.asax (session_end) 中的超时(如果有帮助的话)。
Application Pool Recycling? (IIS setting).
Anyway, you can detect and handle the timeout in the global.asax (session_end), if that helps.