第5 web应用的状态管理.pptVIP

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
第5 web应用的状态管理

* * * 重点: 讲述有状态和无状态的区别; 讲述状态管理的基本概念; 讲述为什么需要使用状态管理; 难点: 有状态与无状态的概念; 讲述有状态管理和无状态管理的区别; 注意: 说明:使用状态管理不仅可以保存同一页面的往返过程中的状态,还可以在不同的页面之间保存状态,例如:在第一个页面中输入的用户名,通过状态管理,可以在第二个页面中访问该用户名; 课堂讨论: 需要使用状态管理的场合; 例子:电子商务网站经常需要保存用户浏览网站的过程中已经选定的商品的编号、数量等内容,此时就需要使用状态管理技术实现“购物车”对象; 参考: 有状态与无状态: 有状态是指在整个系统的处理过程中要保留记住一些信息,而无状态则相反,它指协议对于事务处理没有记忆能力,每次请求都是独立的连接,不需要在每个请求之间共享数据等等。 HTTP协议是无状态协议。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。 重点: 讲述服务器端状态管理的概念及其特点; 注意: 强调:在结合图片解释服务器端状态管理的概念时,服务器端状态管理往往也需要使用到客户端的一些功能,如使用客户端浏览器以 Cookie 的形式保存会话 ID; 参考: 关于状态管理的性能的更多信息,请参考 MSDN 中关于”状态管理建议“以及”开发高性能的 ASP.NET 应用程序”的内容。 ASP.NET会话用SessionID字符串标识。 * * 如果页面的隐藏域数据量过大时,某些代理或防火墙将会禁止访问该页。为解决这一问题,我们在开发站点时可以对视图状态 进行分块。 * 一种映射,存储键和值的对。例如:可以存储电话号码薄:张三、0890870987;李四、004356344。。。 现在一般不使用HashTable了,使用HashMap来替代。 举个例子: HashMap tel = new HashMap(); tel.put(张三,0890870987); tel.put(李四,004356344); 如果我想知道张三的电话号码,那么就这样: tel.get(张三); 注意:视图状态中只能存储可序列化的对象。 参见第7章/上课示例/ClientStateDemo项目的ViewStateDemo.aspx * 隐藏域中不能存储比较敏感的数据,如果要存必须添加加密和解密代码,因此增加了额外的开销。 * * 用户个人配置:有某些网站,每个人上去后,都有不同的页面,而且都是你喜欢的设置,如颜色等等,我们说网络发展个性化;不同的用户登录都有不同的页面。那这些信息记录在哪呢?其实就记在Coockies中。 再比方说:再次登录时,不希望再次输入密码,直接进入 一登录某个网站,广告窗口非常的多。特别是3分钟之前,刚上过该网站,广告又出来了。这样会使人厌烦,因此,我们应该做得人性化一点。例如,一天内广告只出现一次就行了。 * CookieDemo.aspx * 比单值的Cookie节省系统开销。一个网站最多20个cookie。 * * * 对域范围的一个补充 * * * * * * 如: configuration system.web sessionState cookieless=UseCookies cookieName=SessionId timeout=20 mode=InProc/ /system.web /configuration * * * * * * * * * * * 控制Cookie的范围 限制 Cookie 的域范围 将 Cookie 限制到某个文件夹或应用程序 控制Cookie的范围 限制 Cookie 的域范围 Response.Cookies[domain].Value = DateTime.Now.ToString(); Response.Cookies[domain].Expires = DateTime.Now.AddDays(1); Response.Cookies[domain].Domain = support. ; 控制Cookie的范围 将 Cookie 限制到某个文件夹或应用程序 HttpCookie appCookie = new HttpCookie(AppCookie); appCookie.Value = written + DateTime.Now.ToString(); appCookie.Expires = DateTime.Now.AddDays(1); appCookie.Path = /App1; Response.Cookies.Add(appCookie); 修改和删除Cookie 由于Cookie存储在客户端,不能直接修改和删除 Cookie 通过给Cook

文档评论(0)

peili2018 + 关注
实名认证
文档贡献者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档