ASP.NET如何管理服务器端变量,许多用户一次修改它们?

时间:2013-02-21 03:47:54

标签: asp.net vb.net web client-server

我想知道的是,当超过1个用户使用在ASP.NET上开发的网站应用程序并修改变量时会发生什么,例如:

UserA将一些数据设置为服务器端变量:

var = 5

然后,UserB在另一台PC上登录并将其他一些数据设置为同一服务器端变量:

var = 7

然后UserA运行一个需要var变量值的进程,比如说要打印这个值,程序会打印什么? 5或7?

我知道客户端变量只会对相关用户有意义,但我不知道服务器端会发生什么。谢谢!

1 个答案:

答案 0 :(得分:3)

查看Asp.net application life cycle

对于来自用户的每个请求,创建所请求页面的对象 每个请求都有自己的内部变量副本,因此其他用户将无法看到它们。

请注意,此类变量仅适用于请求。如果页面上有按钮且用户返回,则会在Page life cycle期间将其重置为原始值。

如果您希望变量维护每个用户的状态,则应将其保留在SessionViewState中。

保留在Session集合中的变量在页面中保留,而ViewState中的变量保留在同一页面上。两个系列都有其优点和缺点。你必须好好理解它们,以确定哪个是存储变量的正确位置。