我的IIS会话偶尔会丢失其中存储的所有数据,通常需要大约3-5分钟,但肯定比web.config中设置的会话超时时间要短。这个问题不能可靠地重现,当它发生时,根据日志,AppPool没有被回收,会话ID保持不变,它只是丢失了所有数据。对如何调试有什么建议吗?
到目前为止,我尝试覆盖会话提供程序,并将会话数据存储到一个静态变量中,我们检查了所有相关的超时,并在会话中存储了一个虚拟值,该值也已丢失
发布于 2015-01-29 20:37:18
许多事情可能会导致会话状态神秘地消失。
如果您使用的是IIS 7或7.5,则需要注意以下几点:
默认情况下,IIS会将AppPools设置为在一段时间内自动关闭默认设置,IIS会将AppPools设置为每1740分钟循环一次(显然取决于您的根配置,但这是默认设置)
如果您使用的是IIS 6,则应用相同的设置(大部分情况下,只是访问它们的方式不同),但是让它们记录回收是一件很痛苦的事情。下面是一个链接,指向一种让IIS6记录AppPool回收事件的方法:
https://stackoverflow.com/questions/28214816
复制相似问题