会话状态超时

4

我在 web.config 文件中有这个设置:<sessionState timeout="540" />。这试图让所有会话在8小时后过期。然而,会话比这快得多地过期了,我收到了一个对象引用未设置为对象实例的错误。有人能告诉我是否有其他因素影响了会话吗?

提前感谢!


你使用的是哪种SessionStateProvider?你为应用程序使用了多少个Web服务器?你在同一台计算机上使用相同的浏览器吗?在你的会话过期之前是否有任何清除cookie的操作,并且浏览器是否一直保持打开状态? - pwdst
1个回答

8

如果应用程序池在空闲、异常或配置中重新启动,SessionState 也将过期。

无论如何,延长 SessionState 的超时时间并不是最佳实践。

也许您应该将依赖项更改为会话或使用其他方式来持久化这些对象(视图状态)。

如果您绝对需要使用会话来持久化这么多数据,那么您应该使用另一个服务器或数据库作为会话存储。

http://msdn.microsoft.com/en-us/library/ms178586(v=vs.100).aspx


1
如果您想禁用IIS应用程序池超时,请访问以下链接:https://dev59.com/wnI-5IYBdhLWcg3w9tdw - MrBoJangles

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接