Asp.Net ViewState performance

本文关键字:performance ViewState Net Asp | 更新日期: 2023-09-27 18:10:16

我是Asp.Net的新手。我有一个关于viewstate控件的问题。Msdn表示,这是一个客户端状态管理,但建议如果页面上有大数据,由于性能问题,可以禁用它。

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

Asp.Net ViewState performance

对于所有关于ViewState是什么和做什么的描述,它都归结为一个事实,那就是它确实是一件事…ViewState是一堆数据,序列化,base-64编码,并填充到页面上的input type="hidden"元素。

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

例如,如果ViewState包含200KB的数据,那么每个请求都有200KB的数据被来回发送。200KB的隐藏的信息,不可见的在页面的呈现。可能不重要的数据。(基本上,繁琐的东西。)

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

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

什么是viewstate以及它是如何在ASP中工作的?

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

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