我想知道的是,当超过1个用户使用在ASP.NET上开发的网站应用程序并修改变量时会发生什么,例如:
UserA将一些数据设置为服务器端变量:
var = 5
然后,UserB在另一台PC上登录并将其他一些数据设置为同一服务器端变量:
var = 7
然后UserA运行一个需要var变量值的进程,比如说要打印这个值,程序会打印什么? 5或7?
我知道客户端变量只会对相关用户有意义,但我不知道服务器端会发生什么。谢谢!
答案 0 :(得分:3)
查看Asp.net application life cycle。
对于来自用户的每个请求,创建所请求页面的对象 每个请求都有自己的内部变量副本,因此其他用户将无法看到它们。
请注意,此类变量仅适用于请求。如果页面上有按钮且用户返回,则会在Page life cycle期间将其重置为原始值。
如果您希望变量维护每个用户的状态,则应将其保留在Session
或ViewState
中。
保留在Session
集合中的变量在页面中保留,而ViewState
中的变量保留在同一页面上。两个系列都有其优点和缺点。你必须好好理解它们,以确定哪个是存储变量的正确位置。