酷酷七友软件定做 酷酷七友软件

软件开发

sqlite session丢失问题解决!

      sqlite session丢失问题解决!

   先说下环境: iis6+asp.net+sqlite

      一个页面在服务端使用了session,在本地测试一切正常,放到服务器时老提示:服务器不能处理这类请求! 把.net famework重装无解,由地代码比较多,一时也没法判断是哪出了问题,先换了台服务器测试,发现返回相同的错误!

     至此按逻辑应该是代码出问题了吧,代码太多,只能一块块断点+return测试,每次都要生成个页面放到服务器上,非常耗时,调了一天,发现前面的代码都正常,没找出具体出错的位置来,差点要放弃了! 第二天继续搞,当测试到操作数据库模块的时候,发现出异常了,惊喜啊!至少能够定位问题位置了。不过为什么每欠执行完数据库操作session就丢失了呢?难道是我的sqlite版本有问题? 到sqlite官网上找最新版的dll,替换,问题依旧!

    又折腾了几个小时,到后面一不小心把bin下的文件全删了,数据库当然也被删掉!还好我在根目录下有个备份db.db,重新配置了下连接,再测试,发现一切正常,session没丢失了!看了下bin文件夹,与之前的对比,少了个db.db。也就是数据库文件被我从bin移到了根目录下,难道跟数据库路径有关? 偿试把db.db配置回bin下,又回到了之前那问题:服务器不能处理这类请求!!至此问题总算解决.

    问题虽然解决了,但一时也不清楚数据库路径会影响到session。两者都没啥关系呢! 查了下资料,晃然大悟,asp.net下的bin文件一修改就会引起站点重启,session自然也会丢失了。刚好我的数据库文件又扔在bin下,操作数据库时sqlite文件会发生变化,由此session就变null了。

   总结:对.net的基本常识了解还不够。。希望能帮到遇到类似问题的朋友吧!

                                                                          byerror Q:302777528