我的系统只缓存了整个登陆页,一两台机子登陆后进入用session辨别的用户资料页面没问题,但数百人使用之后就出现了登陆后进入他人用户资料页面的情况,而且刷新,用户资料页面会不断改变成其它任何人。举例如下:
张三登陆后,看到的却是李四的资料,刷新一下又变成王五的资料,请教原因!感谢
缓存方法:<%@OutputCache Duration="3600" Location="Server" VaryByParam="none"%>
张三登陆后,看到的却是李四的资料,刷新一下又变成王五的资料,请教原因!感谢
缓存方法:<%@OutputCache Duration="3600" Location="Server" VaryByParam="none"%>
解决方案 »
- 水晶报表打印问题
- 【急哭了的取XML节点问题】
- htmlinputbutton和htmlbutton两个HTML控件之间有什么区别?
- 如何判断三个arraylist每个对应位置元素相等并且给出不符合要求提示
- 如何实现按下enter+ctrl键触发一个按钮的单击事件?
- 一个简单语句!!!
- FindByText的困惑,请高手解答
- .net 开发的移动WAP程序,使用M3Gate仿真器 出错啦
- 我要建一网站(asp或asp.net)要求具有接收和发送电子邮件的功能,不知道需要那些技术,请帮忙啊(高分)
- 各位高手帮帮忙 (~.<
- 那位兄弟给说说Datalist,DataGrid,Repeater嵌套怎么用呀
- 指定response.Write显示
因为你的缓存只是记录了某个时间点发生的一次缓存记录,对于以后所有的用户只是看到该时间点的信息,直至缓存时间到期,再重新记录。
建议把缓存策略改成 VaryByCustom
SESSION最好不要以时间来设置
因为你的缓存只是记录了某个时间点发生的一次缓存记录,对于以后所有的用户只是看到该时间点的信息,直至缓存时间到期,再重新记录。
建议把缓存策略改成 VaryByCustom
缓存策略上,缓存我只用在登陆页上,在用户资料页没用缓存呀?还请指教!
在一次登陆之后,以后所有传送的控件值都是一样的,表面看起来你已经更改了控件值然后你在把缓存去掉就可以很明显的比较了
reaperwu(RQ)的建议不是很理解,可以更清楚吗?谢谢!我开始几个人测试使用不会有问题,但实际几百人操作,过半小时左右,出现此问题
再不然,先把缓存去掉
<%@OutputCache Duration="3600" Location="Server" VaryByParam="none"%>
看看问题是否出现在其它地方
因为你的缓存只是记录了某个时间点发生的一次缓存记录,对于以后所有的用户只是看到该时间点的信息,直至缓存时间到期,再重新记录。
建议把缓存策略改成 VaryByCustom
第一次登陆(假如用户名是User)以后,整index.aspx页面包括控件都已经被缓存了
以后在缓存期间所有的登陆操作,POST给zjdl.aspx的用户名都是User(即使你是填了AnotherUser)
而个别的案例"开始几个人测试使用不会有问题"可能是没有命中缓存(个人主观意见)你可以试试用框架IFRAME把登陆那一个模块隔离出来
我用框架IFRAME把登陆那一个模块隔离出来,还是不行!他登进去资料都对应,但一刷新,全都变成他人资料了!刷一下,换一个人!这种现象也是发生在几百人操作半小时左右以后!
2、"他登进去资料都对应", "但一刷新,全都变成他人资料了!刷一下,换一个人!"
是不是用户资料显示页面或者控件在程序上有问题VaryByCustom
可以不用browser,自定义字符串也行 eg、VaryByCustom="myCustomString"
然后在Global.asax文件中重写GetVaryByCustomerString方法
override GetVaryByCustomerString(HttpContext context, string custom)
{
switch ( custom )
{
case "myCustomString" :
{
return Session["XXX"].ToString()
}
} return null;
}