当前位置:编程学习 > C#/ASP.NET >>

session值变化

在用户登录后,在session["id"]="A" 保存用户id。在另一个页面中调用时,session["id"]变成了另一个用户的id"B"。有时可能会变换成"C"。并且不是一调用就变,时不时的变换。session复制只有登录时复制。保存session的方式用的stateserver,也用了inproc方式,都会出现这种情况。有的客户端出现有的客户端不会出现这种情况。代码找了挺长时间没发现问题。现在怀疑服务器的问题。但不知道从何下手。请大家帮出出主要。 --------------------编程问答-------------------- 你看看是不是浏览器可以打开多窗口啊!像遨游浏览器,可以打开多窗口,这样 session的值很容易改变的 --------------------编程问答-------------------- session还能串值,没遇到过 --------------------编程问答--------------------
引用 1 楼 sy_binbin 的回复:
你看看是不是浏览器可以打开多窗口啊!像遨游浏览器,可以打开多窗口,这样 session的值很容易改变的

没有打开多个浏览器。远程客户端看了 --------------------编程问答--------------------
引用 2 楼 yezhenhua101 的回复:
session还能串值,没遇到过

很闹鬼的。以前遇到过session丢失的问题。这个还是头次遇到。闹鬼。。。。。 --------------------编程问答-------------------- 在页面中输出了一下sessionID,没有变化。及session存的值变了。 --------------------编程问答-------------------- 从未遇到Session会自己变值……
可以考虑单独写一个非常小的程序,
确保任何地方都不会更改Session,
测试一下是不是IIS的问题。 --------------------编程问答-------------------- 浏览器的原因
http://blog.sina.com.cn/s/blog_a4308932010110pf.html --------------------编程问答-------------------- 没遇到过,学习了!!!!!! --------------------编程问答-------------------- http://www.cnblogs.com/KimSky/archive/2009/06/04/1496365.html
百度到的,可以试试是不是这个原因 --------------------编程问答-------------------- session只赋了一次值吗?

跟踪一下session? --------------------编程问答-------------------- 重启下服务器看看. --------------------编程问答-------------------- mark --------------------编程问答--------------------
引用 9 楼 xiangjiaoshou 的回复:
http://www.cnblogs.com/KimSky/archive/2009/06/04/1496365.html
百度到的,可以试试是不是这个原因

谢谢,这个已经看过了。无解! --------------------编程问答--------------------
引用 11 楼 Return_false 的回复:
重启下服务器看看.

已经重启了 --------------------编程问答-------------------- 服务器已经重做了还出这个问题。 --------------------编程问答-------------------- 你在单独写一个只赋值session的页面(单独一个站),看看还会出现这样的情况不? --------------------编程问答-------------------- 顶起,还没有解决! --------------------编程问答-------------------- 个人觉得,是你session赋值多赋了
你写个测试页面,写死了赋值,你在试试 --------------------编程问答--------------------
引用 18 楼 echo0808 的回复:
个人觉得,是你session赋值多赋了
你写个测试页面,写死了赋值,你在试试


已经在代码中查看多次了,只有一次赋值的地方。就是用户登录的时候进行了赋值。
如果多次赋值的话,应该每个用户的session值都会变化。现在只有少数客户端的session会变。 --------------------编程问答--------------------
引用 楼主 devilsu 的回复:
在用户登录后,在session["id"]="A" 保存用户id。在另一个页面中调用时,session["id"]变成了另一个用户的id"B"。有时可能会变换成"C"。并且不是一调用就变,时不时的变换。session复制只有登录时复制。保存session的方式用的stateserver,也用了inproc方式,都会出现这种情况。有的客户端出现有的客户端不会出现这种情况。代……

在web.config 加上
<httpRuntime enableKernelOutputCache="false" />
挺像你说的问题
http://msdn.microsoft.com/en-us/magazine/cc163577.aspx#S2 --------------------编程问答-------------------- 打开IIS--“应用程序池”--属性页中的“性能”选项卡--“web 园”项中的值保证值为“1”,如果不是1,就会出现例用这个程序池的程序Session不稳定的情况发生。
看看是不是这个问题。 --------------------编程问答--------------------
引用 21 楼 5653325 的回复:
打开IIS--“应用程序池”--属性页中的“性能”选项卡--“web 园”项中的值保证值为“1”,如果不是1,就会出现例用这个程序池的程序Session不稳定的情况发生。
看看是不是这个问题。

看过了,没问题 --------------------编程问答-------------------- 最好用cookie,session就是不稳定,超时,丢值,经常的事情。 --------------------编程问答-------------------- http://ccs369711522.blog.163.com/blog/static/140593064201161345340374/ --------------------编程问答-------------------- 大哥哥,Session["id"]是不是在其他地方也用到过,仔细看看,还有Session少用,它存在客户端,影响性能,Session还有一个BUG 容易丢失数据,用之前请三思而后行, --------------------编程问答-------------------- 是的,有遇到这个问题,我当时没去多想,比较急,直接换cookie,这个不会串了吧。 --------------------编程问答-------------------- 把session记录成username试试
补充:.NET技术 ,  ASP.NET
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,