我在网上找不到任何关于这个的东西,所以我想我应该在这里问一下。在Windows 2008 Server环境中,您是否遇到过随机清除会话的问题?这个问题完全是随机的,非常不可预测。除了注销之外,我没有清除会话的代码,也不太确定是什么导致了它(好吧,我有想法……)
我的主人告诉我,Windows 2003在管理会话变量方面做得更好,如果我迁移到2003 Server环境,我很可能会摆脱这个会话清除问题。问题是,我已经在IIS7上安装并运行了URL重写模块,我不想移动或重新配置URL重写。技术支持人员表示,我正在运行的应用程序池配置正确。在Web.config中,我的会话超时设置为60分钟,而我的主机告诉我,我的域的会话超时设置为60分钟。
我可以选择使用Azure AppFabric缓存进行会话,但我不愿意每月额外支付50美元--这是一个相当小且收入很低的网站。我目前使用的是SQL Azure数据库,但据我所知,数据库会话在SQL Azure上并不理想。
有什么想法?
发布于 2011-08-17 08:08:08
最有可能的答案是,由于某种原因,你的应用程序池正在回收,这将使你的进程会话每次都会被转储。直接原因可能有很多,特别是如果应用程序池是共享的。查看你的应用程序池是否被转储的一个简单方法是利用asp.net心跳监控,当这些事件发生时,它可以配置为向您发送电子邮件。
发布于 2011-08-17 08:03:36
您是否正在修改网站中的任何文件?
更改网站的文件夹或文件结构通常会触发应用程序池回收,从而重置会话。解决方法是使用像SQL Server Session State provider这样的持久会话存储。
https://stackoverflow.com/questions/7086510
复制相似问题