ASP.NET初学笔记(十)
Application、Server和Session对象
Global.asax文件简介
存储于应用程序的根目录中
定义应用程序的边界
初始化应用程序级或会话级变量
连接到数据库
发送cookie
Global.asax的事件
application_OnStart在调用当前应用程序目录(或其子目录)的第一个ASP.NET页面时激发
application_OnEnd在应用程序最后一个会话结束时激发。此外,在使用Internet服务管理器管理单
元停止web应用程序时也会激发。
Application_OnBeginRequest在每次页面请求开始时(理论上,在加载或刷析页面时)激发。
Application_OnEndRequest在每次页面请求结束时(即每次在浏览器上执行该页面时)激发。
Session_OnStart在每次新的会话开始时激发。
Session_OnEnd在会话结束时激发。(有关会话结束的方法请参见session对象)
HttpApplication类
定义ASP.NET应用程序中的所有应用程序对象通用的方法,属性和事件。
此类是由用户在global.asax文件中定义的应用程序的基类
此类的实例是在ASP.NET基础结构中创建的,而不是由用户直接创建的。
httpserverutility类提供用于处理web请求的helper方法
server对象获取当前请求的内部服务器对象
server对象可以通过httpapplication类和page类的属性来获得
一个实例在其生存期内被用于处理多个请求,但它一次只能处理一个请求。
Httpapplicationstate类和application实例
httpapplicationstate类启用ASP.NET应用程序中多个会话和请求之间的全局信息共享。
application对象获取应用程序的当前状态
application对象可以通过httpapplication类或者page类的属性获得。
application对象:表示asp.net应用程序的一个实例
application控制访问
applicaion.lock();
//修必应用程序变量值的代码
....
....
....
application.unlock();
lock方法将锁定脚本中的所有变量
确保只有当前用户控制该页面
当调用unlock方法时当前用户将失去对应用程序的控制
Protected Sub Button3_Click(ByVal sender As Object, ByVal e As System.EventArgs) Handles
Button3.Click
Response.Write("<H1>标题</H1>")
End Sub
Protected Sub Button4_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Button4.Click
Response.Write(Server.HtmlEncode("<H1>标题</H1>"))
End Sub
Protected Sub Button5_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Button5.Click
'Response.Write("http://www.sina.com.cn")
Response.Redirect("webform2.aspx?a=a&b")
End Sub
Protected Sub Button6_Click(ByVal sender As Object, ByVal e As System.EventArgs)
Handles Button6.Click
'Response.Write(Server.UrlEncode("http://www.sina.com.cn"))
Response.Redirect("webform2.aspx?a=" + Server.UrlEncode("a&b"))
End Sub
httpsessionstate类和session对象
httpsessionstate类提供对会话状态值以及会话级别设置和生存期管理方法的访问
session对象是httpsessionstate类的实例,可以通过httpapplication类和page类的属性来获得
session对象:主要用于存储用户信息,不能被其它的用户看到,而只能被本用户看到
它包含用户特定信息
在会中跟踪和监视用户信息
会话期满后销毁对象
session属性:
sessionID唯一标识用户会话
TimeOut用户超时,默认为20分钟,如果没有和服务器交互,则断开
LCID本地标识符
IsNewSession如果己使用当前请求创建会话,则返回True
Item会话值的名称
Count会话状磁性集合中的项目数