我把这两个网站分别用A和B来代替,好区分.前些天做了个网站(称为A),在后台想用Session保存登录用户名,不知为何在登录后的页面取Session值一直为空,后来我又重新新建了一个项目网站(称为B),把原来的文件全部导入,这次一试,居然可以取到Session的值了,以为问题解决,后来发现数据库地址是A程序的数据库地址,没有改(我直接把数据库路径地址写死了),后来我把数据库改为现在的B程序路径,Session居然又变成空值了,取不到,我把数据库路径重新改回A的地址,Session又可以用了,我就纳闷这个Session跟数据库路径有什么关系?我又试着打开A的程序,原来Session不能用,我以为是什么地方我改动了,所以才又重新建的B程序.打开A后,把数据库地址设成B的数据库路径,在后台测试登陆,Session居然也可以用了,我就纳闷为什么在自己程序目录不能用.我用的是ACCESS数据库,在BIN目录里边存放.请各位朋友帮帮忙,看我这是哪的问题,以前从来没有碰到过
解决方案 »
- vs2008异步第二次绑定数据时,为什么只绑定一行?
- 亲 帮写一个正则好么
- 单击一个BUTTON实现弹出对话框上可以选择是和否,请问怎么做.
- 简单取值问题
- 如何用字符串访问已有对象?
- JS中怎么保留两位小数
- 郁闷:DataGrid绑定列设置格式问题?
- 怎么把treeview已有的内容清空,刷新时重新绑定!
- 入门题 关于打开页面的问题,详情请进入观看(无未解帖记录)
- ASP.NET连接SQLSERVER的问题,高手点拨一下吧.............
- 50分 带参数更新数据库时出现问题"另一个 OracleParameterCollection 中已包含 OracleParameter。"的错误信息.
- SqlDateTime 溢出。必须介于 1/1/1753 12:00:00 AM 和 12/31/9999 11:59:59 PM之间 在线等
你在登录后肯定修改了数据库,往里面加入了数据。也就是意味着bin目录下的*.mdb文件发生了改变,在这种情况下,AppDomain会发生recycle,通俗讲就是应用程序重启,导致了session全部丢失。建议你把数据库文件放到别的目录里面去。
这也正是为什么你连接A网站的数据库就不会出现问题的原因,因为B网站下的bin目录并没有变化。你看一下这篇文章里面我的回复:http://topic.csdn.net/u/20090205/18/8564e22d-9e22-4348-acad-5dd9743cde5c.html
那里描述了其它几种AppDomain recycle的情况。