Asp.Net ViewState 性能

Asp.Net ViewState performance

我是 Asp.Net 的新手。我对视图状态控件有疑问。 Msdn说它是客户端状态管理,但是建议如果页面上有大数据因为性能问题可以禁用它。

那么,如果这是客户端状态,它会如何影响站点的页面加载时间?

关于 ViewState 是什么和做什么的所有描述,都归结为一个事实,即它完全是一回事...ViewState 是一堆数据,经过序列化、base-64 编码,并被塞入一个页面上的 input type="hidden" 个元素。

每次将页面呈现给客户端时,ViewState 都会发送给客户端。每次客户端将表单发送到服务器时,ViewState 都会发送到服务器。

因此,如果 ViewState 包含 200KB 的数据,那么每次请求都会来回发送 200KB 的数据。 200KB 隐藏 信息,不可见 在页面呈现中。可能 不重要 数据。 (基本上,笨拙。)

是否所有这些数据都需要随每个请求来回发送?偶尔可能会很方便,但是是否需要在每个请求中管理所有状态?可能是,可能不是。因此,您可以通过不在页面中管理该状态并为某些页面元素适当地禁用 ViewState 来调整性能。

有些状态可以完全在服务器端管理,有些可以在其他页面元素中更隐式地管理,有些根本不需要管理。 (由于 Web 应用程序被设计为无状态的,如果您可以管理,最后一个选项是理想的选择。)

什么是视图状态及其在 ASP.Net

中的工作原理

Web 应用程序是无状态的。这意味着每次我们向服务器发出请求以获取页面时都会创建一个页面的新实例,并且在往返之后我们的页面会立即丢失。它只发生在一台服务器上,网页的所有控件都被创建,并且在往返之后服务器销毁所有实例。因此,为了保留控件的值,我们使用状态管理技术。

http://www.c-sharpcorner.com/UploadFile/225740/what-is-view-state-and-how-it-works-in-Asp-Net53/