版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/iceagezh/article/details/78866301
在实际项目中需要动态的切换数据源,就简单的通过修改Web.config的连接字符串实现了。
结果发现Session失效了。
因此百度了下Session失效的原因:
一:有些杀病毒软件会去扫描您的Web.Config文件,那时Session肯定掉,这是微软的说法。
二:程序内部里有让Session掉失的代码,及服务器内存不足产生的。三:程序有框架页面和跨域情况。
第一种解决办法是:使杀病毒软件屏蔽扫描Web.Config文件(程序运行时自己也不要去编辑它)
第二种是检查代码有无Session.Abandon()之类的。
第三种是在Window服务中将ASP.NET State Service 启动。
我尝试了失效后重新补Session,方法不可行。
使用StatServer的模式也不可行。
解决方案:
将常用配置独立出来,也是一个好习惯。
web.config中之存放系统相关配置。