Application、Session和Cookie对象.doc_第1页
Application、Session和Cookie对象.doc_第2页
Application、Session和Cookie对象.doc_第3页
Application、Session和Cookie对象.doc_第4页
Application、Session和Cookie对象.doc_第5页
已阅读5页,还剩3页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

课程名称:.NET应用开发 第十一章 内建对象11.2 Application、Session和Cookie对象1.目标概述 2分钟22.回顾 5分钟23.课程知识点讲解23.1.应用程序状态(Application State) 20分钟23.2.会话状态(Session对象) 20分钟33.3.客户端Cookie存储状态 20分钟43.4.Global.asax文件 20分钟54.小结 3分钟55.考核点66.作业答案67.技能提升 90分钟78.扩展练习89.学生问题汇总810.教学后记8本节目标n 本节中将讲述如下主要内容: Application对象 Session对象 Cookie对象n 通过教学使学生掌握Application、Session、Cookie对象及其应用。本节重点n Application对象n Session对象n Cookie对象 本节难点n 授课课时n 6课时 教法建议1. 目标概述 2分钟本节主要讲述Application、Session、Cookie对象及其应用。2. 回顾 5分钟回顾上一节的相关知识。3. 课程知识点讲解3.1. 应用程序状态(Application State) 20分钟引入:主题:多数在基于Web的应用程序中需要处理一些跨请求的操作,且在同一Web应用程序的多个用户之间共享数据和变量,那么这些数据称为状态(State)。保存数据到Application内建对象的语法格式为:Appication“变量名称(即键名)”= 对象名称方法或属性说 明AllKeys属性返回所有能够访问Application集合中的值和键的集合Count属性返回存储在Application集合里的对象数量Get方法通过键或索引返回Application集合中的一个匹配项Set方法通过键或索引刷新Application集合中的项GetKey方法根据提供的索引,返回一个项的键ToString方法返回代表Application集合中的一个项的字符串。当需要字符串值而非对象引用时很有用处示例讲解示例11.2.1 利用Application对象创建一个统计网站点击次数的计数器。练习练习11.2.1 请利用Application对象实现一个统计网页当天点击率的计数器。3.2. 会话状态(Session对象) 20分钟引入:主题:Session对象的功能由HttpSessionState类提供,每个用户的会话事件都具有该类的一个实例。与Application对象一样,Session对象为兼容传统ASP而公开了一个Contents集合。存储在Session集合中的值也可以通过Contnents集合的别名来问。Session集合也可以用来存储对象实例的引用,使用的语法与在应用程序级上存储对象引用的语法相同。然后,这些对象就变成了会话的StaticObjects集合的一部分,在ASP.NET的Web窗体页面上,通过引用这些对象关联的ID属性就能够引用。属性或方法说 明Keys属性返回所有可访问Session集合的值的键集合Count属性返回存储在Session集合里的对象数值SessionID属性返回包含当前会话的SessionID的字符串Timeout属性返回一个代表当前Session Timeout设置的Int32值Abandon方法损坏当前的用户会话Clear方法删除Session集合中所有的项RemoveAt方法从Session集合里删除一个特定的项,是根据该项在集合中的索引来删除ToString方法返回代表Session集合里的一个项的字符串。在需要字符串值而不是对象引用时很有用示例讲解示例11.2.2 请使用Session对象来实现对用户注册信息的回显,并要求在对回显页面刷新时判断会话是否结束(过期),如果过期则自动超链到用户注册登记页面。练习练习11.2.2 利用Session实现对用户权限的控制,即根据用户的角色来控制用户允许进入的页面。3.3. 客户端Cookie存储状态 20分钟引入:主题:在跨页面共享数据的第三种方法就是利用浏览器的Cookie。Cookie在浏览器和服务器之间通过HTTP头部来回传递。服务器首先在响应中使用Set-Cookie(设置Cookie)头部来创建一个Cookie。从浏览器发出的后续请求就在Cookie头部中返回这个Cookie。如果要创建一个名为UserName的Cookie,其中包含访问你的Web站点的用户名。要创建这个Cookie,服务器就要发送一个关部:Set-Cookie:UserName=Bill;Path=/;Domain=;expires=Tuesday,01-Jan-05 00:00:01 GMT1创建和读取会话Cookie可以通过使用Response对象和Request类的Cookies属性来创建和读取会话Cookie。这个Cookies属性表示一个Cookie的集合(即HttpCookieCollection类的实例)。示例讲解示例11.2.3 创建一个Cookie,并将其读出显示出来。2创建和读取持久性Cookie在创建了持久性Cookie以后,可以像读取会话Cookie那样读取这个Cookie。可以通过Request对象的Cookies属性来访问持久性Cookie。3Cookie属性Cookie常用的属性有:l Domain与Cookie关联的域名;比如,。l Expires用于持久性Cookie过期时间。l HasKeys获取一个值,通过该值指示 Cookie 是否具有子键。l NameCookie的名称。l Path与Cookie关联的路径。默认值是“/”。l Secure表示是否只能通过加密的连接来发送Cookie的值。默认值是False。l ValueCookie的值。l Values一个表示存储在Cookie字典中的所有键(Key)和值(Value)对的NameValue Collection。4Cookie的局限性3.4. Global.asax文件 20分钟引入:主题:在创建ASP.NET工程时除了创建应用程序根目录和添加子文件夹及其内容外,还要为Web应用程序添加一个名为Global.asax的文件。Global.asax文件主要用来提供应用程序和会话的开始和清除代码,以及设置要作为一个整体应用于应用程序的选项。在Global.asax文件中,可以完成下述的任务:l 响应选定的应用程序和会话事件。l 响应您为应用程序创建的自定义HttpModules的事件。l 用Import指令把命名空间导入应用程序。然后就可以在应用程序中的任何一段代码中使用这个命名空间的成员,而不必在每页上都导入命名空间。l 用Assembly指令为应用程序注册程序集。l 用标记创建应用程序级别对象的实例。Global.asax文件主要是负责处理Application_Start、Application_End、Session_Start和Session_End事件:事 件说 明Application_Start在HttpApplication类的第一个实例创建时,该事件被触发。Application_End在HttpApplication类的最后一个实例被销毁时,该事件被触发。在一个应用程序的生命周期内它只被触发一次。Application_BeginRequest每次页面请求开始时(理想情况下是在加载或刷新页面后)触发。Application_EndRequest每次页面请求结束时(即每次在浏览器上执行页面时)触发。Session_Start每次新会话开始时触发Session_End会话结束时触发(有关会话可以采用何种方式结束,请参见Session对象)示例讲解示例11.2.4 创建一显示Global.asax处理事件信息的Web窗体。4. 小结 3分钟本节介绍了用户在Web站点的页面之间移动时,如何利用将数据与用户关联的三种机制。具体内容如下:1应用程序状态应用程序状态(Applicaton State)指的是应用程序的多个用户都能访问的任何数据。它包括数据库的连接字符串信息、共享变量和缓存数据集。与传统ASP一样,ASP.NET也提供了一个键/值对集合,程序开发人员可以利用它来存储值和对象实例。访问该集合的方法与传统ASP相同。2会话状态Session对象的功能由HttpSessionState类提供,每个用户的会话事件都具有该类的一个实例。与Application对象一样,Session对象为兼容传统ASP而公开了一个Contents集合。存储在Session集合中的值也可以通过Contnents集合的别名来问。3Cookie对象在跨页面共享数据的第三种方法就是利用浏览器的Cookie。Cookie在浏览器和服务器之间通过HTTP头部来回传递。服务器首先在响应中使用Set-Cookie(设置Cookie)头部来创建一个Cookie。从浏览器发出的后续请求就在Cookie头部中返回这个Cookie。如果要创建一个名为UserName的Cookie,其中包含访问你的Web站点的用户名。Cookie常用的属性有:l Domain与Cookie关联的域名;比如,。l Expires用于持久性Cookie过期时间。l HasKeys获取一个值,通过该值指示 Cookie 是否具有子键。l NameCookie的名称。l Path与Cookie关联的路径。默认值是“/”。l Secure表示是否只能通过加密的连接来发送Cookie的值。默认值是False。l ValueCookie的值。l Values一个表示存储在Cookie字典中的所有键(Key)和值(Value)对的NameValue Collection。4Global.asax文件在创建ASP.NET工程时除了创建应用程序根目录和添加子文件夹及其内容外,还要为Web应用程序添加一个名为Global.asax的文件。Global.asax文件主要用来提供应用程序和会话的开始和清除代码,以及设置要作为一个整体应用于应用程序的选项。Global.asax文件主要是负责处理Application_Start、Application_End、Session_Start和Session_End事件。5. 考核点 考核点1:Application、Session、Cookie对象及其应用6. 作业答案 1:什么是应用程序状态,它是否会过期?答: 2:什么是会话状态,它是在什么时候过期?答: 3:选择题(1)Global.asax文件一般存储在应用程序的( )目录中A.子 B.bin C.obj D. 根(2)Global.asax的( )事件在每次页面请求开始时触发。A. Application_EndRequestB. Application_StartC. Application_BeginRequestD. Session_Start(3)对于每个访问应用程序的用户,会启动单个( )。A. Server B. Session C. 应用程序 D. 请求(4)( )对象由HttpApplicationState类表示。A. Session B. Application C. Server D.全局(5)应用程序中的所有页面均可以访问( )变量。A.Session B. Application C.Server D.ViewState(6)( )和( )方法用于确保应用程序级变量不会同时被多个用户更新。A. Block()和UnLock() B. Lock()和UnLock() C. Server()和Session() D. Lock()和Key() 4:创建一个用户登录和注册系统,其中数据库表结构如表所示。要求用Session存储用户姓名,用Application存储在线人数和总人数。要求是首先进入登录界面,如登录成功转成功显示页面要求显示在线人数和总人数,否则转入注册页面。字段名字段类型长度是否为空UserNameVarchar10falseUserPwdVarchar10trueUserSexVarchar2trueUserBirthdaydatetime8trueUserAddressvarchar10true答:7. 技能提升 90分钟任务HNS软件学院的系统开发部目前正为某公司开发一套网上商店系统,该系统主要实现在网上销售公司产品的目的。其主要功能有:用户登录功能、用户注册、查看商品信息、选购商品和提交购买订单等功能。该项目现已进行入编码实现阶段。现根据需求和设计,指派您完成如下任务:1编写实现登录该网上商店的Web页面;2编写实现网上选购(即实现显示产品列表和购物车的功能)的Web页面。3编写实现显示购物清单的Web页面。实现该网上商店主要采用SQL Server自带示例数据库Northwind为基础来构建的一个网上在线销售系统。其中登录可根据顾客表Customers来进行登录,而商品信息则由Products表来提供。实现网上购物车的方法是将顾客所选定的商品预先保存到内建对象Session中,当顾客提交订单后才存回到Northwind数据库的Orders表中。而显示当前购物清单则只需将存

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论