代码之家  ›  专栏  ›  技术社区  ›  Mikayil Abdullayev

当有大量变量要存储时,使用Viewstate可以吗

  •  0
  • Mikayil Abdullayev  · 技术社区  · 11 年前

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

    1. SessionState在整个会话中持续存在,其中ViewState用于同一页面。
    2. SesssionState留在服务器中,但VewState在客户端和服务器之间传输

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

    1. 我知道我将只在一个页面中使用这些变量,ViewState适用于这种情况
    2. 另一方面,它似乎需要很大的带宽,因为变量相当多。
    2 回复  |  直到 11 年前
        1
  •  1
  •   nunespascal    11 年前

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

    在将变量放入ViewState后,您可以很容易地使用页面性能工具来查看页面大小的增加。在大多数情况下,这是不需要担心的。

        2
  •  1
  •   Adil    11 年前

    变量通常不会占用太多空间 kbs 甚至更少,随着客户端数量的增加,服务器机器上的负载也在增加,将数据放入会话可能会降低服务器的性能 倍增 。另一方面,视图状态在服务器上没有空间,可能会为其他有用的操作节省内存。