Session超时和莫名丢失的原因:
改动global.asax、web.config、bin目录里的东西,导致Web Application重启。
有些杀毒软件会扫描你的web.config文件,也会导致Session丢失。
服务器内存不足导致Session丢失。
程序内部有让Session丢失的代码。
程序有框架页面和跨域情况。
Session超时和莫名丢失的解决办法:
修改web.config中的timeout时效时间。
建议让网站使用独立的应用程序池。(IIS 6.0以上)
IIS如何设置Session超时时间:网站属性>>主目录>>配置>>应用程序配置>>选项,重新设置会话超时时间,默认为20分钟。
在应用程序池上打开网站对应的应用程序池属性,将WEB数量改为1,得启IIS。
在你的主页面里面嵌入一个框架页iframe,设置宽度和高度为0。在里面的加载页面的的标签里加入 ,意思就是每隔18分钟向服务器发送一次请求,刚好赶在Session失效之前,这样Session就永不失效了。