救命!关于session使用问题!在线等,搞不定今晚不能睡觉了!

hjw01592 2009-11-13 08:33:27
小弟初学ASP.NET,用它做了网站,在登录的时候,将账号和姓名都保存在session里面,当做全局变量使用。
现在出现这样的问题:
当第一个用户登录后,假设账号和姓名分别是:'001','张三',分别存在session["loginName"]和session["userName"]中;
在第一个用户没有退出的情况下,我用第二个用户登录,假设账号和姓名分别是:‘002’,‘李四’。这时,我在第一个用户的网页里面检测session["loginName"]和session["userName"]的值时,发现它已经变成第二个用户的了!
以上测试我是在同一台机器进行的(由于现在没有2台机器测试)。
怎样才能使第一个用户的session值不受其他用户登录的影响啊?
求高手救命!
在线等,搞不定今晚不能睡觉了!
...全文
111 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
hjw01592 2009-11-13
  • 打赏
  • 举报
回复
好心人真多。谢谢大家了!
结贴!
livelymoon 2009-11-13
  • 打赏
  • 举报
回复
改用cookie···



---------------------------------------------------------------------------
【梦想一团】QQ群开团开始招人啦,凡进团的都回获赠织梦VIP和adminVIP教程一套!
以及各种带完整后台,经测试完整界面漂亮的源码!
本群以讨论asp/aspnet/sql/oracle为主,其他为辅!也欢迎各网站高人前来指导!
QQ群号 【51587637】
---------------------------------------------------------------------------
shenlong0125 2009-11-13
  • 打赏
  • 举报
回复
建个站点试试
cymandhxl 2009-11-13
  • 打赏
  • 举报
回复
如果一台电脑,建个虚拟机来试试啊。
wuyq11 2009-11-13
  • 打赏
  • 举报
回复
static string 在不同进程,不会冲突
宝_爸 2009-11-13
  • 打赏
  • 举报
回复
通常IIS只使用一个进程处理所有请求。除非设置了Web Garden.
hjw01592 2009-11-13
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 webdiyer 的回复:]
一台机器上也可以测试,你可以开一个IE和一个Firefox或者opera,它们都有自己不同的cookie保存和处理机制,就不会导致共用相同的session了。
[/Quote]
哦。就是说同一台机器不同浏览器,或者不同机器的(相同或不同的浏览器),它们的session是不会串的,我可以这么理解吗?
宝_爸 2009-11-13
  • 打赏
  • 举报
回复
static变量在一个进程中只有一个copy。
hjw01592 2009-11-13
  • 打赏
  • 举报
回复
就是page_load事件上面
hjw01592 2009-11-13
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 camperer 的回复:]
你这个static string变量是在哪里声明?
很有可能造成这样的结果:要么不能跨页面访问,要么就连别的机器也一起串了。。
[/Quote]
在cs文件的最上面声明的。。。
webdiyer 2009-11-13
  • 打赏
  • 举报
回复
一台机器上也可以测试,你可以开一个IE和一个Firefox或者opera,它们都有自己不同的cookie保存和处理机制,就不会导致共用相同的session了。
宝_爸 2009-11-13
  • 打赏
  • 举报
回复
是的,不同机器,不会串值。
camperer 2009-11-13
  • 打赏
  • 举报
回复
你这个static string变量是在哪里声明?
很有可能造成这样的结果:要么不能跨页面访问,要么就连别的机器也一起串了。。
hjw01592 2009-11-13
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 bancxc 的回复:]
恩 呵呵
[/Quote]
谢谢,另外我想问下,如果我用static string 的变量来保存值,是不是会出现后面登录的用户串前面登录用户的值呢?
mzjmicrosoft 2009-11-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wuyq11 的回复:]
两用户使用同一机器先后登陆系统,并且没有处理意外关闭或者两用户同时在线情况
存在session串值问题
在同一台电脑上登录,同一session域里session就可能串值,后面覆盖前面session
一般用单点登录
[/Quote]

人生如梦 是无处不在 无所不懂....


hjw01592 2009-11-13
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 wuyq11 的回复:]
两用户使用同一机器先后登陆系统,并且没有处理意外关闭或者两用户同时在线情况
存在session串值问题
在同一台电脑上登录,同一session域里session就可能串值,后面覆盖前面session
一般用单点登录
[/Quote]

那么也就是说,正常情况下,不同用户在不同电脑登陆,就不会串值是吗?
wuyq11 2009-11-13
  • 打赏
  • 举报
回复
两用户使用同一机器先后登陆系统,并且没有处理意外关闭或者两用户同时在线情况
存在session串值问题
在同一台电脑上登录,同一session域里session就可能串值,后面覆盖前面session
一般用单点登录
camperer 2009-11-13
  • 打赏
  • 举报
回复
session就是这样地。。

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧