【常见Session丢失缘由】程序员
一、Session超时,用户打开页面,页面长时间不操做会致使此缘由数据库
二、IIS应用程序池回收,或者重启浏览器
三、Web.Config修改,即IIS应用程序池重启缓存
四、dll被替换或者动态页面修改,即IIS应用程序池重启cookie
五、杀毒软件对.config文件进行扫描,可能会致使IIS应用程序池回收less
六、用户浏览器禁用cookiespa
七、其余缘由blog
其余缘由有点不负责,可是好多程序员没法查明是什么缘由致使Session丢失,但Session丢失我归结为两大类,一个是数据的Key丢了,一个是Session内容数据库的丢了,你们这样就好理解了,用户浏览器禁用cookie必定是Key没了。IIS应用程序池回收一定会致使Session的内容缓存表丢失,固然还有一些其余缘由。进程
解决Session丢失的漫长路io
解决过Session丢失的都会用到这几种方法
一、InProc:将Session存到进程内。
二、StateServer:将Session存到独立的状态服务中(Asp.Net State Service)。
三、SqlServer:将Session存到SqlServer中。
四、Cookieless:设置客户端Session存储的方式。
用了这些方法以后,有的是该丢还丢,有的是稳定了速度却慢了。
还有个这个Custom自定义模式,你们不要还停留在非开源模式下解决问题的思想,找找开源项目,必定能找到的,有人说ASP.NET上哪里找开源啊,很是简单NuGet,若是想了解开源,必定要学会使用NuGet。