我是 Asp.Net 的新手。我有一个关于 View 状态控件的问题。 msdn 说它作为客户端状态管理,但建议如果由于性能问题页面上有大数据,可以禁用它。
那么,如果这是客户端状态,它如何影响站点的页面加载时间?
最佳答案
对于 ViewState 是什么和做什么的所有描述,归根结底是它完全是一件事...... ViewState 是一堆数据,序列化,base-64 编码,然后塞进 input type="hidden"
页面上的元素。
每次将页面呈现给客户端时,都会将 ViewState 发送到客户端。每次客户端将表单发布到服务器时,都会将 ViewState 发送到服务器。
因此,如果 ViewState 包含例如 200KB 的数据,那么每个请求都会来回发送 200KB。 200KB 的隐藏信息,在页面渲染中看不到。可能不重要的数据。 (基本上,cruft。)
每次请求都需要来回发送所有这些数据吗?偶尔可能会很方便,但是每个请求都需要管理所有这些状态吗?机会是,可能不是。因此,您可以通过不在页面中管理该状态并为某些页面元素适当禁用 ViewState 来调整性能。
有些状态可以完全在服务器端管理,有些可以在其他页面元素中更隐式地管理,有些根本不需要管理。 (由于 Web 应用程序被设计为无状态的,如果您可以管理它,最后一个选项是理想的。)
关于c# - Asp.Net ViewState 性能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32286123/