0

我知道 SessionState 和 ViewState 之间的区别:

  1. SessionState 在整个会话中持续存在,而 ViewState 是针对同一页面的。
  2. SesssionState 保留在服务器中,但 VewState 在客户端和服务器之间传输

现在考虑到上述情况,如果我有很多变量(这意味着很多带宽)需要通过回发保持,我应该选择哪一个?我卡在中间是因为:

  1. 我知道我只会在一个页面中使用这些变量,而 ViewState 适合这种情况
  2. 另一方面,由于变量很多,它似乎会占用很多带宽。
4

2 回答 2

1

变量通常不会占用太多空间,kbs甚至更少,将数据不必要地放在会话中可能会降低服务器的性能,因为客户端数量增加了服务器机器上的负载成倍增加。另一方面,视图状态不会在服务器上保留空间,并且可以为其他有用的操作节省内存。

于 2013-02-18T11:18:28.267 回答
1

除非您说的是几千个变量,否则没有什么可担心的。
大多数 asp.net 控件在 ViewState 中存储了大量的状态变量。

将变量放入 ViewState 后,您可以轻松地使用页面性能工具查看页面大小的增加。在大多数情况下,这不是什么值得担心的事情。

于 2013-02-18T11:26:03.407 回答