Session超时和莫名丢失的原因与处理办法 原因: 解决办法
-
- 改动global.asax,Web.config,bin目录里的东西,导致Web Applicatioin重启。
- 有些杀毒软件会去扫描你的Web.config文件,也会导致Session丢失。
- 服务器内存不足导致Session丢失。
- 程序内部有让Session丢失的代码。
- 程序有框架页面和跨域情况。
-
解决办法
- 修改Web.config中的timeout的失效时间。
- 建议让网站使用独立的应用程序池。
- 设置IIS超时时间。
- 在应用程序池上打开网站对应的应用程序池属性,将Web数量改为1.重启IIS。
- 在你的主页面里嵌入一个框架页iframe,设置长宽都为0.在里面的加载页的<head>里面加入<meta http-equiv="refresh" content="1080"> 这一句,意思就是每隔18分钟向服务器发送一次请求。刚好赶在Session失效之前。这样Session就永不失效了。(本人最喜欢用这一招,百试不爽)
具体的配置请查看:Asp.net Web.config 设置Session过时
IIS6.0设置Session超时:网站属性->主目录->配置->应用程序配置->选项,重新设置会话超时时间,默认为20分钟。
IIS7.0设置Sessioin超时: