会话在Win2008 ASP.NET网站上随机清除

时间:2011-08-16 23:53:53

标签: asp.net session iis windows-server-2008 session-state

我在网上找不到任何关于此内容的信息,所以我想我会问这里。您是否有任何问题只是在Windows 2008 Server环境中随机清除会话?这个问题完全是随机的,非常难以预料。除了注销外,我没有清除会话的代码,也不确定是什么导致它(好吧,我有想法......)

我的主人,我已经和他在一起很多年了(从来没有遇到过问题)告诉我,Windows 2003在管理会话变量方面做得更好,如果我是的话,我可能会摆脱这个会话清算问题移动到2003 Server环境。事实上,我已经使用URL Rewrite模块在IIS 7上设置并运行,我宁愿不移动或重新配置URL重写。技术支持说我正在运行的App Pool配置正确。我的会话超时在Web.config中设置为60分钟,我的主机告诉我,我的域的会话超时设置为60分钟。

我可以选择使用Azure AppFabric Cache进行会话,但我不想每月额外支付50美元 - 这是一个相当小的低收入网站。我目前正在使用SQL Azure数据库,但据我所知,数据库会话在SQL Azure上并不理想。

思想?

2 个答案:

答案 0 :(得分:1)

您是否正在修改网站中的任何文件?

对网站的文件夹或文件结构的更改通常会触发应用程序池回收,重置会话。解决方法是使用像SQL Server Session State provider这样的持久会话存储。

答案 1 :(得分:0)

最有可能的答案是您的应用程序池由于某种原因正在回收您,每次都会转储您的进程内会话。近因可能是很多事情,特别是如果共享应用程序池。查看您的应用程序池是否被转储的简单方法是利用asp.net心跳监视,它可以配置为在发生这些事件时通过电子邮件发送给您。