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超时:    

原文地址:https://www.cnblogs.com/xuyubing/p/3365770.html