1

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

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

var = 5

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

var = 7

然后 UserA 运行一个需要 var 变量中的值的进程,说它要打印该值,程序会打印什么?5个还是7个?

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

4

1 回答 1

3

看看Asp.net 应用程序生命周期

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

请注意,此类变量仅针对请求存在。如果页面上有按钮并且用户回来了,这些按钮将在页面生命周期中再次设置重置为其原始值。

如果您希望变量为每个用户保持其状态,则应将它们保存在SessionorViewState中。

保存在集合中的变量Session跨页面维护,而保留在集合中的变量ViewState直到您在同一页面上。这两个系列都有其优点和缺点。您必须很好地理解它们才能决定哪个是存储变量的正确位置。

于 2013-02-21T04:28:05.890 回答