第七篇_Web应用的状态管理.ppt

  1. 1、本文档共55页,可阅读全部内容。
  2. 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
* * * * * * * * * * * * * 说明:关于配置文件属性的知识将在后面第十章中详细讲解。 * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * 应用程序状态概述 应用程序状态是一种全局存储机制,可以供Web应用程序中的所有页面(或Global.asax文件)访问 存储在HttpApplicationState 类的实例中,该类在客户端第一次从某个特定的 ASP.NET 应用程序虚拟目录中请求任何 URL 资源时创建 目的在于存储需要在服务器往返行程之间及页请求之间维护的信息 添加和读取应用程序状态中的值 应用程序状态存储在一个键/值字典中,可以将特定于应用程序的信息添加到此结构以在页请求期间读取它 一般在Global.asax文件中的应用程序启动事件中初始化应用程序状态值,而在所有的页面中都可以访问 Application.Lock(); Application[TotalCounter] = ((int)Application[TotalCounter])+1; Application.UnLock(); int totalCounter = (int)Application.Get(“TotalCounter”); //访问变量值 Application.Set(“TotalCounter”,10); //直接设置变量值 演示和练习:使用应用程序状态来存储信息 多媒体演示 删除应用程序状态的值 调用HttpApplicationState类的Clear或RemoveAll方法,删除应用程序状态集合中的所有变量 调用Remove或RemoveAt方法来清除某一个变量 Application.Remove(“TotalCounter”); //通过传递变量名来删除 Application.RemoveAt(0); //通过传递序号来删除 会话状态 会话状态概述 会话标识符 会话状态事件 会话状态模式 使用会话状态 演示和练习:实现简单的站点计数器功能 实现自定义会话状态提供程序 会话状态概述 会话状态保存每个活动的 Web 应用程序会话的值,是 System.Web.SessionState.HttpSessionState 类的一个实例,通过Page等类的Session属性公开 会话状态采用键/值字典形式的结构来存储特定于会话的信息,这些信息需要在服务器往返行程之间及页请求之间进行维护 会话状态限制在当前浏览器中有效,用来存储短期、敏感的数据 会话标识符 浏览器的会话使用存储在 SessionID 属性中的唯一标识符进行标识 会话 ID 使 ASP.NET 应用程序能够将特定的浏览器与 Web 服务器上相关的会话数据和信息相关联 会话 ID 的值在浏览器和 Web 服务器间通过 Cookie 进行传输,如果指定了无 Cookie 会话,则通过 URL 进行传输 会话标识符 无Cookie的SeesionID 将Web.config 文件的 sessionState 节的 cookieless 属性设置为 true,可以指定不将会话标识符存储在 Cookie 中,而是存储在URL中 configuration system.web sessionState cookieless=true / /system.web /configuration http://localhost:1387/Demo_7/(S(hfohsn45do20gt55wuemca55))/Default.aspx 会话标识符 会话标识符 自定义会话标识符 自定义类来提供和验证 SessionID 值,继承 SessionIDManager 类,然后用自定义的实现来重写 CreateSessionID 和 Validate 方法 创建实现 ISessionIDManager 接口的类来替换整个 SessionIDManager 会话状态事件 在Global.asax文件编写用于管理用户会话的事件: Session_OnStart 事件:在新会话开始时触发 Session_OnEnd 事件:在会话被放弃或过期时触发 会话状态模式 会话状态模式概述 ASP.NET 会话状态支持若干用于会话数据的存储选项 在 Web.config 文件中为 sessionState 元素的 mode 属性分配一个 SessionStateMode 枚举值,可以指定ASP.NET 会话状态使用的模式 会话状态模式 InProc模式(进程内模式) 是默认会话状态模式,使用SessionStateMode枚举的InProc值指定 进程内

文档评论(0)

kehan123 + 关注
实名认证
内容提供者

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

1亿VIP精品文档

相关文档