day7.1
1.服务器状态管理
a,会话 可在Global Application类中定义自己的代码,在开始或结束时运行。
会话状态可以存储在HttpSessionState对象中。可使用Page类的Session属性类访问与HTTP上下文相关的会话状态对象。在Session_Start()事件处理程序中,可初始化会话变量。
b, 应用程序 如应用程序在多个客户端之间共享数据,就可以使用应用程序状态。应用程序状态的使用方式会会话状态非常类似。对于应用程序状态,应使用HttpApplicationState类,通过Page类的Application属性可以访问(在Session_Start()事件处理程序中,应用程序变量userCount的值会递增。在改变应用程序变量之前,必须用Lock()方法锁定对象,否则出现线程问题,因为多个客户可以同时访问一个应用程序变量。在改变了应用程序变量后,还必须调用Unlock()方法。在此事件段内,不应读取文件或数据库中的数据。否则,其他客户就必须等到数据访问完成之后才能操作。----说明:这个都是建立在建立了一个全局应用程序类(Global.asax)里面包含Session_Start()等) 读取应用程序状态中的数据与读取会话状态中的数据一样简单:
label1.Text = this.Application["userCount"].ToString();
c, 缓存 她类似于应用程序状态,因为它在所有的客户端上共享。与应用程序比较,缓存灵活的多:可通过多种方式来定义状态的失效时间。不给每个请求读取文件或数据库,而是把数据存储在缓存中。