- 1、本文档共14页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
客户端状态维护技术课件
;课程目标:
理解并掌握视图状态
掌握隐藏域的使用方法
理解Cookie的原理及使用方法
掌握查询字符串的使用方法; 视图状态是一项非常重要的技术,它能使得页面和页面中的控件在从服务器到客户端,再从客户端返回的往返过程中保持状态信息。这样就可以在Web这种无状态的环境之上创建一个有状态并持续执行的页面效果。如果禁用了页面或者控件的视图状态,即设置EnableViewState = false,那么上文服务器控件的属性TextViewState就能使用了。这是视图状态的缺陷,
本节主要介绍有关视图状态的运行机制、应用方法、存储的数据类型、性能和安全性、优缺点等内容。;1)运行机制 视图状态的具体运行过程为:每当用户请求某个.aspx页面时,.NET框架首先把相关控件的状态数据序列化成一个字符串,然后,将其做为名为__VIEWSTATE的隐藏域的Value值发送到客户端。如果页面是第一次被请求,那么服务器控件也将是被第一次执行时,名为__VIEWSTATE的隐藏域中只包含控件的默认信息,通常为空或者null。在随后的回送事件中,ViewState中就保存了服务器控件在前面回送中可用的属性状态。这样服务器控件就可以监视在当前被处理的回送事件发生之前的状态了。这些过程是由.NET框架负责的,对用户来说是执行.aspx页面就有了持续执行的效果。;2)存储的数据类型 视图状态可以存储多种类型的数据,并且为了提高运行效率,视图状态自身还包括一套已经优化的针对常用类型的序列化方式。视图状态序列化方式默认支持的数据类型包括以下几种:String、Int32、Unit、Color、Array、ArrayList、HashTable和自定义类型转换器TypeConverter。 视图状态已经为Array、ArrayList和包含上面列出类型的HashTable对象进行了优化。因此,当在控件中使用视图状态时,应该试着限定于使用以上简单数据类型,以及经过优化的类型。在此,需要重点说明一下自定义类型转换器TypeConverter,它提供了一种将值的类型转换为其他类型以及访问标准值和子属性的统一方法。例如,可以利用TypeConverter将字符串转换为数值,或者将数值转换为字符串。如果没有类型转换器,那么页面框架会使用.NET框架提供的二进制序列化功能来序列化对象,这个过程是非常耗费资源的。;3)性能和安全性 使用视图状态时,对象必须先序列化,然后再通过回传进行反序列化。因此,我们必须了解有关ViewState性能的内容。默认情况下,控件的ViewState将被启用,如果不需要使用ViewState,最好还是将它关闭。以下情况将不再需要ViewState:(1)控件未定义服务器端事件(这时的控件事件均为客户端事件且不参加回送的);(2)控件没有动态的或数据绑定的属性值。关闭视图状态的方法是将控件的EnableViewState的值设置为false,即EnableViewState=false。 默认情况下,视图状态的有关内容在编译运行发送给客户端时,读者将在页面的HTML代码中看到__VIEWSTATE隐藏域内容。这是一些没有意义的字符串,是.NET框架通过Base64位编码对相关内容编码的结果。它们是通过明文方式在客户端和服务器端之间往返传送。在某些情况下,例如涉及密码、账号、连接字符串等敏感内容时,使用默认方式是很不安全的。为此,.NET框架为ViewState提供了两种安全机制:;(5)优点和缺点 使用视图状态具有以下3个优点:一、耗费的服务器资源较少(与Application、Session相比)。因为,视图状态数据都写入了客户端计算机中。二、易于维护。默认情况下,.NET系统自动启用对控件状态数据的维护。三、增强的安全功能。视图状态中的值经过哈希计算和压缩,并且针对Unicode实现进行编码,其安全性要高于使用隐藏域。 使用视图状态具有以下3个缺点:一、性能注意事项。由于视图状态存储在页本身,因此如果存储较大的值,即使在视图状态分块的情况下,用户显示页和发送页时的速度仍然可能减慢。二、设备限制。移动设备可能没有足够的内存容量来存储大量的视图状态数据。因此,移动设备上的服务器控件时,将使用其他的实现方法。三、潜在的安全风险。视图状态存储在页上的一个或多个隐藏域中。虽然视图状态以哈希格式存储数据,但它可以被篡改。如果直接查看页输出源,可以看到隐藏域中的信息,这导致潜在的安全性问题。;隐藏域是用来收集或发送信息的不可见元素,对于网页的访问者来说,隐藏域是看不见的。当表单被提交时,隐藏域就会将信息用你设置时定义的名称和值发送到服务器上。
ASP.NET 允许您将信息存储在 HiddenFie
您可能关注的文档
- 实用英语写作(一).ppt
- 实用高中英语短语与句型 L-M.doc
- 实用高中英语短语与句型 P-R.doc
- 实用阿拉伯语.ppt
- 实用-短文两篇《夸父逐日》《共工怒触不周山》ppt课件(31页).ppt
- 宜兴项目安全漫画教育.ppt
- 实证主义(二).ppt
- 实训九 学生基本信息表的编辑.doc
- 宝宝鸭奇妙餐厅(人文).ppt
- 实际上90%的早期肿瘤不难治愈.pptx
- 安全生产考核奖惩制度3篇.doc
- 颅脑损伤病人的护理查房【优质公开课】精品PPT课件模板.pptx
- 二零二二年度德州继续教育公需科目《公共事务管理与服务能力》试题及答案.pdf
- 二零二二年度党风廉政建设知识竞赛题库(含答案).pdf
- 二零二二年度度枣庄市专业技术人员继续教育公需科目培训班互动题.pdf
- 二零二二年度儿童保健学试题库(含答案).pdf
- 二零二二年度第十九届中国东南地区数学奥林匹克竞赛高一试题(含答案).pdf
- 二零二二年度动物卫生监督题库(含答案).pdf
- 黑龙江省大庆市重点中学2023-2025学年高一下学期2月开学考试英语试题(含解析).docx
- 二零二二年度法检书记员招考《公基》测试题库(含答案).pdf
文档评论(0)