繁体   English   中英

Asp.Net ViewState性能

[英]Asp.Net ViewState performance

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

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

对于ViewState是什么和做什么的所有描述,全都归结为事实:ViewState是一堆数据,已序列化,以64位编码,并塞入了input type="hidden"页上的input type="hidden"元素。

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

因此,如果ViewState包含例如200KB的数据,则200KB随每个请求来回发送。 200KB的隐藏信息,在页面呈现中看不到 潜在的不重要数据。 (基本上是手脚。)

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

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

什么是视图状态及其在ASP.Net中的工作方式

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM