ASP.NET 中的 ViewState <转>
来源:互联网 发布:印度撤军知乎 编辑:程序博客网 时间:2024/05/18 05:01
之前在做一些基于.NET WEB 应用的性能测试时,测试工具经常会录制到 __VIEWSTATE 这个隐藏的属性,并且经常发现这个属性在“关联”时会存在一些问题,导致请求失败;有时这个属性的值还会非常的长——例如超过2000字节,还一遍遍的在脚本中重复出现,严重影响脚本的可读性。
所以一般都会在web.config中禁用这个东东,不过也的确没有深入研究一下这个东西到底是干嘛的,为什么会出现,禁用到底对测试的真实性有什么影响。
今天有点空,找到一篇比较权威的资料,了解了一下。
ASP.NET ViewState初探 http://www.microsoft.com/china/community/program/originalarticles/techdoc/viewstate.mspx
下面是一点摘要。
-------------- BEGIN ---------------
ViewState(英文)是一种机制,ASP.NET 使用这种机制来跟踪服务器控件状态值,否则这些值将不作为 HTTP 窗体的一部分而回传。
ASP.NET ViewState 是一种新的状态服务,可供开发人员基于每个用户来跟踪 UI 状态。ViewState 没有什么神秘之处,它只是利用了一个老的 Web 编程技巧:在一个隐藏的窗体字段中来回传递状态。
默认情况下 ViewState 将被启用,并且是由每个控件(而非页面开发人员)来决定存储在 ViewState 中的内容。有时,这一信息对应用程序并没有什么用处。尽管也没什么害处,但却会明显增加发送到浏览器的页面的大小。因此如果不需要使用 ViewState,最好还是将它关闭,特别是当 ViewState 很大的时候。
使用 ViewState 时,每个对象都必须先序列化到 ViewState 中,然后再通过回传进行反序列化,因此使用 ViewState 并非是没有代价的。
禁用ViewState——应用程序(在 web.config 中): <Pages EnableViewState="false" ?/>
如果在应用中 ViewState 不是必须的,并且自动产生了一个很大的 ViewState 开始影响性能,就应该考虑禁用它。
-------------- END ---------------
- ASP.NET 中的 ViewState <转>
- ASP.NET中的ViewState
- ASP.NET中的ViewState
- ASP.NET中的ViewState
- ASP.NET中的ViewState
- ASP.NET中的ViewState
- ASP.NET 中的 ViewState
- ASP.NET中的ViewState
- ASP.NET中的ViewState
- ASP.NET中的ViewState
- 压缩ASP.NET中的ViewState
- ASP.NET中的viewstate使用
- 压缩ASP.NET中的ViewState
- Asp.net中的ViewState用法
- ASP.net中的viewstate属性
- 【转】ASP.NET ViewState详解
- 【转】ASP.NET ViewState详解
- 【转】ASP.NET ViewState详解
- 在JSP页面获取当前项目名称的方法
- java连接jdbc读取oracle数据库的内容
- reinterpret_cast在编程中的应用
- 应该知道的Linux技巧
- Linux 00
- ASP.NET 中的 ViewState <转>
- 淘宝网的技术发展史(一)——个人网站时代
- JQuery Mobile入门——创建页面pagecreate事件
- POJ 2234 尼姆博奕
- python set使用
- 《Android核心技术与实例详解》笔记第二篇
- JS触发服务器控件的单击事件
- 苹果开发者证书下载和安装
- 前言