状态管理是对同一个页面或不同页面的多个请求维护其状态和信息的过程。在ASP.NET中,提供了多种技术以在服务器往返过程之间维护状态。一般包括服务器端维护技术(如:应用程序状态、会话状态和Cache对象等)和客户端维护技术(如:Cookie、视图状态、隐藏域和查询字符串等)。选择哪种类型的状态管理取决于应用程序的性质。
1.应用程序状态(Application对象)原理
应用程序状态是一种全局存储机制,可从Web应用程序中的所有页面访问。保存应用程序状态一般使用Application对象。
在ASP.NET中,Application对象代表ASP.NET Web应用程序的运行实例。一个Web站点可以包含不止一个ASP.NET应用程序,而每个ASP.NET应用程序的运行实例都可以由一个Application对象来表达。
Application对象可以用来在整个应用程序中共享信息,在.NET中对应HttpApplicationState(应用程序状态)类。可以直接在应用程序状态中存储变量和对象。实际上,应用程序状态变量是给定ASP.NET应用程序的全局变量,它的生命周期从请求该Web应用程序的第一个页面开始,到该Web站点关闭,或程序清除Application变量时结束。
实际上,ASP.NET开发人员可以考虑将任何对象作为全局变量存储在Application对象中,Application维护了一个键/值对集合,用键/值来区分集合中的不同项目。当使用键/值存储一个数值时,即可以在Web应用程序的不同页面中使用该数值,从而达到数据共享的目的。(www.xing528.com)
2.Global.asax文件简介
每个ASP.NET站点对应一个Global.asax文件,该文件存储在站点的虚拟根目录下。Global.asax文件可以处理应用程序和会话。该文件是可选的,如果没有定义此文件,ASP.NET页面会假定没有定义任何应用程序或会话的事件处理程序。
Global.asax文件是一个声明文件,用来在Web应用程序运行时处理事件,如图6-2所示。
图6-2 页面请求处理过程示意图
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。