我在web.config文件中将会话时间设置为9小时,如下所示:
“<sessionState mode="InProc" timeout="540" />
但是,通常用户抱怨说他们在不到9小时不活动时面临超时,而且他们超时后的时间间隔也各不相同。
我想知道会话超时是否依赖于IIS中的以下任何设置:
请指教。 另外,如何在IIS 7.0中检查会话超时设置?
答案 0 :(得分:11)
ApplicationPool回收时,会话将丢失。这是您提到的IIS设置之一。仅在web.config中设置超时是不够的。您需要在IIS中调整设置。
这是我在查看相同问题时发现的link。
此外,这个问题非常有用:Losing Session State
答案 1 :(得分:0)
如果您使用的是表单身份验证,则应确保将FormAuthentication Cookie设置为与会话同时过期。
如果没有确保您的IIS没有被回收。 (在您的Global.asax中放置一个记录器,以验证与用户投诉相比的应用程序结束事件。)
答案 2 :(得分:0)
仅在您的网络配置中设置会话超时是不够的。如果托管站点的服务器在IIS设置中设置的超时值较少,则会话将根据服务器会话超时值超时。
如果要删除服务器目录中的任何文件夹,也会导致AppPool意外回收。
所以请检查服务器会话超时值,如果少,请要求您的主机根据您的要求增加它。