Web应用程序状态保存

Web应用程序状态保存

ID:45079487

大小:2.06 MB

页数:16页

时间:2019-11-09

Web应用程序状态保存_第1页
Web应用程序状态保存_第2页
Web应用程序状态保存_第3页
Web应用程序状态保存_第4页
Web应用程序状态保存_第5页
资源描述:

《Web应用程序状态保存》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、第8章Web应用程序状态保存引例:按钮计数器(ClickCounter1.aspx)不管单击多少次按钮,始终只显示1次2引发“Web状态保持”问题的现实背景---HTTP协议的无状态性在向Web服务器提交的多次HTTP请求之间,Web服务器不会保留前一次访问的状态信息,不管同一个客户端连续多少次访问,Web服务器都将其看成是一个“陌生人”的“拜访”。所谓“状态”,其实就是与每次HTTP请求相关联的一些信息,例如用户在某个页面上输入的一些数据。在实际开发中,往往需要在多次HTTP请求之间保存状态。因此,任何一个Web开发技术都必

2、须面对这样一个问题并给出一个解决方案。3HTTP无状态特性ASP.NET如何保存Web应用的状态?在针对同一页面的多次请求间保存状态1ViewStateDemo:ClickCounter2.aspx(UseViewState网站)要点:1如何区分是第一次访问还是第二次回发?Page类的IsPostBack属性2保存在ViewState对象中的数据都拥有一个唯一标识Key,对象本身则被称为值Value。6按钮计数器(版本2)哪些对象可以保存在ViewState中?只有可以被“序列化”的对象才可以保存在ViewState中。所谓“

3、序列化(Serializable)”,指的是将一个对象的属性值保存到一个流(Stream)对象中,在需要时可以从流对象中重新创建对象。要创建一个可序列化的类,只需要在类前面添加[Serializable]标记。Demo:ClickCounter3.aspx7ViewState揭秘——第一次请求创建页面类对象,调用其ProcessRequest()方法提取出页面上的控件状态信息对象将控件状态信息对象序列化,存入到一个隐藏域__VIEWSTATE中生成HTML代码HTTP请求其中其他处理工作Client端Server端8ViewS

4、tate揭秘——回发阶段创建页面类对象,调用其ProcessRequest()方法处理回发的数据,更新控件状态,进行一系列的后继处理工作将当前控件状态信息对象序列化,存入到一个隐藏域__VIEWSTATE中HTTP请求其中Client端Server端从发回的隐藏域__VIEWSTATE中提取信息,反序列化,得到状态对象,复原控件状态生成HTML代码其他处理工作9ViewState的不足ViewState只能在同一个页面的多次回发间保存状态信息。它不能解决在多个页面间共享状态信息的问题,而这个问题在电子商务网站中是必须解决的。1

5、0在同一网站的多个页面间共享信息2SessionSession同一个浏览器窗口访问同一个网站的多个页面,称为“Session(会话状态)”。可以使用Session在多个页面间保存信息。Session的使用与ViewState类似,使用“Session["Key"]”的方式存取放在Session对象中的数据12Session示例:在线购物车Demo:ShoppingCart13购物车示例程序的分析商品有自己的标识:书-book:复选框控件的ID计算机-computer:复选框控件的ID通过检查页面上复选框选中与否,了解用户选中了

6、哪些商品。并将这些选中的商品保存到Session中。这些信息按照“商品标识(Key)和商品名称(Value)”的格式保存。通过遍历保存在Session的购物记录了解用户选购了哪些商品,使用BulletedList控件显示它们。14购物车示例程序的要点注意控件是如何动态创建的。注意页面状态是如何保存的。一个关键点:页面控件的事件响应函数的调用是在Page_Load()函数调用过之后请同学们在课后不看源码,自己动手将此示例程序做一遍,一定会对ASP.NET应用程序的开发有新的体会。15Session的进一步介绍Session是有时

7、间限制的,它的Timeout属性指明了Session有效的时间。当一个新的Session开始时,会触发一个Session_Start事件。当Session超时,或者程序中调用了Session.Abandon(),还包括ASP.NET网站被关闭这三种情况,session_End事件触发。在Global.asax中响应这些事件。Session是网站相关的,若中途切换到另一个网站,则此网站不能使用原有的Session。16

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。