【问题标题】:disabling view state for page is it a good for performance?禁用页面的视图状态对性能有好处吗?
【发布时间】:2009-09-14 14:35:52
【问题描述】:

将所有页面的 EnableViewState 设置为 false 是否会更好地提高性能,除了我想要启用其 ViewState 的一些控件之外?。

我怎么能在 web.config 文件中做到这一点?

【问题讨论】:

    标签: asp.net performance viewstate


    【解决方案1】:

    您将在两个方面受益:

    • 页面会更小,这意味着更快地从服务器传输,更重要的是向服务器传输
    • 您的服务器不必序列化/反序列化尽可能多的数据

    第一点可能是您获得最多的地方(在感知性能方面)

    【讨论】:

      【解决方案2】:

      当然。尽可能禁用视图状态。 :)

      保持防御。关掉它,直到你知道你需要它。 :) 在我看来是很好的做法。

      【讨论】:

        【解决方案3】:

        在 system.web 下的 web.config 中试试这个

        <pages EnableViewState="false" />
        

        至于是否更好:当您关闭 ViewState 时 ASP.NET 并不容易,即使一些更基本的控件(例如,文本框)似乎在有或没有 ViewState 的情况下都保持其状态。您的里程可能会有所不同,但请记住,当您关闭它时,您是在用性能换取代码复杂性。

        【讨论】:

        • 如果我为所有页面禁用它然后为某些控件启用它是否有任何问题。我听说这些控件不会启用视图状态。这是真的吗?。
        • 我不确定。您可以通过尝试并查看是否存在作为页面一部分呈现的合理大小的 ViewState 隐藏输入元素来判断。如果您在 PostBacks 之后遇到状态问题,您就会知道它有效。
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2010-11-12
        • 1970-01-01
        • 2010-11-20
        • 2015-08-16
        相关资源
        最近更新 更多