作者:正在减肥的小小_519 | 来源:互联网 | 2023-06-05 10:52
我想问一下,在一个网站中,每个人都有一个帐号,而且在他们登录的时候,都会有一个session[name]Textbox.text传值到别的页面,那我想问,如果有两个人,有一个先登录了,第二个后
我想问一下,在一个网站中,每个人都有一个帐号,而且在他们登录的时候,都会有一个session["name"]=Textbox.text 传值到别的页面,那我想问,如果有两个人,有一个先登录了,第二个后登录,那个session["name"]会被覆盖吗?
网站发布以后,是每一台计算机都有一个session["name"],还是整个网站公用一个?
如果公用,会覆盖吗?
3 个解决方案
首先,网站在内存中保存了所有的Session[...]的内容。
然后,当一个客户端请求发送到网站,asp.net根据客户端SessionID的值,而将属于此会话的所有 Session[...] 都拷贝到给这个消息处理线程而创建的 Session[...] 中。
当asp.net页面处理过程执行完毕(通常就是一眨眼这么短时间),asp.net再将所有的 Session[....] 的内容再次拷贝回网站全局的Session[...] 集合中。
SessionID 是随机生成的,基本上全世界上唯一,所以你的asp.net程序中处理到的 Session[....] 是不会冲突到别人的 会话的 Session[....] 的。