我维护一个经典的ASP网站,在IIS6上托管(或者更确切地说:我坚持维护它)。一段时间以来,我注意到Session Cookies正在“收集”这个网站:
我已经摆弄了应用程序池回收间隔并完全重新启动IIS等等,但不知何故,这个问题仍然存在。起初似乎只有一个cookie,甚至在浏览网站一段时间后仍然只有一个cookie。然后,一段时间后(如几天,几周),我再次注意到cookie包含许多ASPSESSIONIDXXX cookie。
我 NOT 会遇到任何会话丢失或任何事情;一切正常,如预期的那样。只是我的cookie随着这个会话垃圾而不断增长。所有浏览器都存在问题(表明网站/网络服务器存在问题)。
我查看了this question - 该网站不在任何“webgarden”或具有多个进程或多个服务器的应用程序池中。还没有任何代理服务器可供使用。
在项目周围散布了一些Session(...)
代码,我已经查看了它,但除Session("FOO") = bar
和bar = Session("FOO")
之外的任何地方都没有什么奇怪的。
我正在寻找:
a)解决这个问题的方法 b)解决方法:删除除“当前”之外的所有这些cookie的(体面)方式
答案 0 :(得分:0)
请注意,无论您将什么设置为回收间隔,IIS都会在一定时间(通常是几天)之后和/或一段时间不活动后重新启动应用程序,并且当发生这种情况时,会话cookie将是丢失/再生。您可以将IIS(7)配置为在应用程序回收时通过选择相关应用程序池进行记录,然后转到“高级设置 - >回收 - >生成回收事件日志条目”,然后您就可以在事件查看器何时/为什么应用程序被回收。
此外,在ASP->Services->Session->New ID on Secure Connection
下的IIS中,请确保它为false,否则您将拥有不同的会话Cookie,具体取决于该页面是http还是https。
我发现这篇帖子中有人编写了一个解决方法来删除那些可能对您有帮助的Cookie ... http://forums.iis.net/t/1155657.aspx