- 1、本文档共46页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
状 态 管 理 网站与桌面系统的工作方式不同,与传统的分布式系统也不相同。在桌面系统中,系统资源被独占;在传统的分布式系统中,资源虽然分布在系统的各个环节,但是只要不专门指定,系统总是保持连接的。网站系统虽然也是一个分布式系统,但由于服务器要为众多的用户服务,浏览器与服务器之间的连接是不连续的,状态也是不保持的,HTTP是一个无状态的通信协议。这就是说,在网站系统中,每次浏览器与服务器之间的连接都是暂时的。当浏览器与服务器之间的一次会话结束,它们之间的连接也就自动断开了,下一次会话与本次连接无关,两次连接之间不存在任何联系。 状 态 管 理 为什么不保持状态呢?这是因为访问网站的用户常常川流不息。如果要求系统将所有被访问的网页的状态都记忆下来,必然会耗费大量的系统资源,严重地降低程序的运行效率。 然而,在网站应用中有的状态却是需要保留的,比如用户在购货车中订购商品、用户登录的身份、对问卷调查所作的回答等,这些状态中有的希望能够保留一定的时间,以便联合处理或者在一定的范围内进行传递和共享。 状 态 管 理 为此,系统提供了状态管理方法,允许有选择地将一些状态(数据)在一定的时间内持续地保存下来。本讲将要介绍几种状态的管理方法,具体内容包括: 状态管理 视图状态 会话状态 Web窗体页的生命周期 状 态 管 理 1 状态管理 2 视 图 状 态 3 会 话 状 态 4 简单的应用示例 1 状态管理 状态管理 状态管理的类型 服务器端状态管理 客户端状态管理 Global.asax 文件 状态管理 状态管理 有状态与无状态: 有状态是指在整个系统的处理过程中要保留记住一些信息,而无状态则相反,它指协议对于事务处理没有记忆能力,每次请求都是独立的连接,不需要在每个请求之间共享数据等等。 HTTP协议是无状态协议。缺少状态意味着如果后续处理需要前面的信息,则它必须重传,这样可能导致每次连接传送的数据量增大。 为什么需要使用状态管理? 需要使用状态管理的场合 状态管理 客户端状态是将信息保留在客户端计算机上,当客户端向服务器端发送请求时,状态信息会随之发送到服务器端。 服务器状态是指状态的信息保存于服务器。 状态管理的类型 服务器端状态管理 服务器端状态管理 与客户端状态管理相比,具有更高的安全性 与客户端状态管理需相比,需要使用更多的 Web 服务器资源 可通过应用程序状态(Application)、会话状态(Session)和数据库保存会话状态来实现 服务器端状态管理 应用程序状态管理 使用应用程序状态(HttpApplicationState 类的一个实例)来保存每个活动 Web 应用程序的值 该信息对整个应用程序的所有页面都是可见的 使用键/值词典结构存储应用程序变量 常用于存储多个会话共享的、不经常改变的信息 优点:易于实现、全局范围 缺点:全局范围、持久性、资源要求 服务器端状态管理 会话状态 使用会话状态(HttpSessionState 类的一个实例)保存每个活动 Web 应用程序会话的值 会话状态的范围限于当前的浏览器会话 使用键/值词典结构存储会话变量 可扩展性较好:可以将会话信息存储在 Cookie 中、进程外服务器中或 SQL Server 中 使用 SessionID 标识不同的会话 不同的用户有不同的会话状态,同一用户在退出后返回,也将有不同的会话状态 优点:易于实现、具有会话特定的事件、持久性、平台可缩放性和可用于不支持 HTTP Cookie 的浏览器 缺点:可能降低服务器性能 客户端状态管理 客户端状态管理 不如服务器端状态管理选项安全 不如服务器端管理选项可靠 可存储的信息量可能受到限制 使用 Cookie 维护状态 持久性 Cookie 临时性的或非持久性的 Cookie Global.asax 文件 一个 Web 应用程序只有一个 Global.asax 文件 文件驻留在 ASP.NET 的应用程序的虚拟根目录中 用来处理应用程序级事件和会话事件 Global.asax 文件可选 不能直接通过 URL 请求 Global.asax 文件 1 状态管理 本讲介绍以下ASP.NET提供的3种状态类型,分别应用于不同的目的。 视图状态:用于保存本窗体页的状态。 应用程序状态:用于保存整个应用程序的状态,状态存储在服务器端。 会话状态:用于保存单一用户的状态,状态存储在服务器端。 Cookie状态:用于保存单一用户的状态,状态存储在浏览器端。 2 视 图 状 态 什么是视图状态?简单地说,视图状态就是本窗体的状态。保持视图状态就是在反复访问本窗体页的情况下,能够保持状态的连续性。 为什么要保持视图状态?ASP.NE
文档评论(0)