Web应用的状态管理.ppt
《Web应用的状态管理.ppt》由会员分享,可在线阅读,更多相关《Web应用的状态管理.ppt(55页珍藏版)》请在三一办公上搜索。
1、第7章Web应用的状态管理,内容,Web应用状态概述客户端状态维护技术服务器端状态维护技术,Web应用状态概述,Web应用本质上是无状态的,如需保存状态则需要做状态管理,状态维护是对同一页或不同页的多个请求维护状态和页信息的过程,客户端状态维护技术,视图状态控件状态隐藏域Cookie查询字符串,视图状态,视图状态概述设置页面是否保留视图状态在配置文件设置是否保留视图状态演示和练习:设置是否启用保留视图状态对视图状态进行分块演示和练习:对视图状态进行分块,视图状态概述,视图状态(ViewState)是一个字典对象,通过Page类的ViewState属性公开,是页用来在往返行程之间保留页和控件属性
2、值的默认方法视图状态可存储的数据类型:字符串整数布尔值Array 和ArrayList 对象哈希表自定义类型转换器,ViewStateview1=Hello World;,设置页面是否保留视图状态,设置Page指令或Page的EnableViewState属性指示当前页请求结束时,该页是否保持其视图状态以及它包含的任何服务器控件的视图状态 关闭页面的视图状态,设置页面是否保留视图状态(例),关闭页面的视图状态,protected void Page_Load(object sender,EventArgs e)Page.EnableViewState=false;,在配置文件中设置是否保留视图
3、状态,在配置文件Web.config的system.web节点下,修改Pages元素的EnableViewState属性,来控制所有页面是否启用视图状态信息,演示和练习:设置是否启用视图状态,多媒体演示,对视图状态进行分块,设置页的 MaxPageStateFieldLength 属性,对ViewState 属性中存储的数据进行分块,可以在Web.config文件中设置分块大小,演示和练习:对视图状态进行分块,多媒体演示,控件状态,ASP.NET 页框架提供了 ControlState 属性作为在服务器往返过程中存储自定义控件数据的方法控件状态不能被关闭,故存储控件状态数据是更可靠的方法,隐藏
4、域,隐藏域是一个存储库,直接存储在页中的任何特定于页的信息,在视图状态、会话状态和 Cookie 等方法被禁用或不可用,则可以使用 HiddenField 控件来存储状态值 隐藏域的设置和读取,protected void Page_Load(object sender,EventArgs e)string strUserName=Jakey;h1.Value=strUserName;,Cookie,Cookie概述编写Cookie演示和练习:编写Cookie编写多值Cookie演示和练习:编写多值Cookie控制Cookie的范围演示和练习:控制Cookie的范围修改和删除Cookie演示和
5、练习:删除Cookie和删除多值Cookie的子键Cookie和会话状态,Cookie概述,Cookie 是存储在客户端文件系统的文本文件中,或者存储在客户端浏览器会话的内存中的少量的数据Cookie 是随页输出并由服务器发送到客户端的特定于站点的信息Cookie 可以是临时的(随着浏览器关闭而自动消失),也可以是永久性的Cookie 保存在客户端设备上,当浏览器请求某页时,客户端会将 Cookie 中的信息连同请求信息一起发送。服务器可以读取 Cookie 的值,编写Cookie,使用HttpResponse 对象 来设置Cookie,需要设置Cookie名称、值、过期时间等信息,/通过新建
6、HttpCookie对象来添加CookieHttpCookie aCookie=new HttpCookie(lastVisit);/新建HttpCookie对象aCookie.Value=DateTime.Now.ToString();aCookie.Expires=DateTime.Now.AddDays(1);/设置Cookie的过期Response.Cookies.Add(aCookie);/将Cookie添加到Cookies集合/读取Cookie值string userName;if(Request.CookiesuserName!=null)userName=Request.Coo
7、kiesuserName.Value;,演示和练习:编写Cookie,多媒体演示,编写多值Cookie,在一个 Cookie 中存储多个名称/值对,名称/值对称为子键,/直接添加CookieResponse.CookiesuserInfouserName=patrick;Response.CookiesuserInfolastVisit=DateTime.Now.ToString();Response.CookiesuserInfo.Expires=DateTime.Now.AddDays(1);/读取Cookie值string userName;if(Request.CookiesuserN
8、ame!=null)if(Request.CookiesuserInfo userName!=null)userName=Request.CookiesuserInfouserName;,演示和练习:编写多值Cookie,多媒体演示,控制Cookie的范围,限制 Cookie 的域范围将 Cookie 限制到某个文件夹或应用程序,控制Cookie的范围,限制 Cookie 的域范围,Response.Cookiesdomain.Value=DateTime.Now.ToString();Response.Cookiesdomain.Expires=DateTime.Now.AddDays(1)
9、;Response.Cookiesdomain.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的范围,多媒体演示,修改和删除Cook
10、ie,由于Cookie存储在客户端,不能直接修改和删除 Cookie通过给Cookie赋新值替换旧版本Cookie的办法来修改可以通过设置Cookie立即过期的办法来删除Cookie,演示和练习:删除Cookie和删除多值Cookie的子键,多媒体演示,Cookie和会话状态,服务器在用户访问时为每个用户建立唯一的会话,该会话将一直延续到用户访问结束,ASP.NET通过以下办法维护该会话状态存储在Cookie中的非永久性会话状态 存储在站点中页面的 URL 中的无Cookie会话,查询字符串,查询字符串提供了一种维护状态信息的方法,输入查询字符串以问号(?)开始的属性/值对,且可以有多个查询字
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- Web 应用 状态 管理
![提示](https://www.31ppt.com/images/bang_tan.gif)
链接地址:https://www.31ppt.com/p-6523310.html