此课程本来是要和小组的兄弟们共同分享的.由于时间的关系没有如愿以偿,今天就在网上和大家共同学习了.由不妥的地方请指出.
1. ViewState
ViewState是asp.net中的一个特性,它用于把生成页面要用的一状态值保存在一个隐藏域中。当页面被回传到服务器时,服务器要解析,校验和应用ViewState中的数据以还原页面的控件树。ViewState是一个非常有用的特性,它能持久化客户端的状态而不用cookie或者服务器的内存。大部分的服务器控件都是用ViewState来持久化那些在页面中与用户交互的元素的状态值。•用ViewState会带来一些负面的影响。首先,它加大的服务器的响应和请求的时间。其次,每次回传时都增加了序列化和反序列化数据的时间。最后,它还消耗了服务器更多的内存。 •关闭指定页面的ViewState;
可以通过WebConfig来禁用整个Web的ViewState
<configration> <system.web> <pages enableViewState=“false”/> </system.web> </configuration>
ViewState的编码方式用的是Base64编码
•EnableViewStateMac属性表示:
如果页从客户端回发时,ASP.NET 应在页的视图状态上运行消息验证代码 (MAC),则为 true;否则为 false。默认为 false。 •视图状态 MAC 是页的视图状态在其发送到浏览器时所保存到的隐藏变量的加密版本。如果为 true,则检查加密的视图状态以验证该视图状态在客户端上是否尚未被篡改。如果主要考虑性能,则不要将 EnableViewStateMac 设置为 true。 如果页面视图被篡改页面就不再使用这些状态去恢复页面.
2.页面跳转中的性能
请求的过程:
1)浏览器aspx文件请求--->服务器执行--->遇到Response.Redirect语句->服务器发送Response.Redirect后面的地址给客户机端的浏览器--->浏览器请求执行新的地址
2)浏览器aspx文件请求->服务器执行->遇到Server.Transfer语句->服务器转向新的文件
可以见Server.Transfer比Response.Redirect少了一次服务器发送回来和客户端再请求的过程.
跳转对象:
1)Response.Redirect可以切换到任何存在的网页。
2)Server.Transfer只能切换到同目录或者子目录的网页.
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索服务器
, 浏览器
, 页面
, 视图
, mac篡改
, viewstate
, 状态
英转中
,以便于您获取更多的相关知识。