Global.asax文件俗称为一个类,继承于Httpapplication类。位于应用程序根目录下。也可称为应用程序文件。
Global文件是可选的,一般在创建应用程序的时候自动创建。ASP.NET页面框架会自动识别global页面的修改,并重启应用程序。
下面看看Global的一些基本事件,声明这里不做介绍
在Global的事件中,我们可以告诉Application和Session对象在启动和结束的时候做什么事情,完成这项任务的代码就事件操作中。
实例1:如我们希望程序调用第一个页面的时候连接数据库,那么我们就把连接数据库写在
Application_Start事件中
public class Global :HttpApplication { protected void Application_Start(objectsender, EventArgs e) { SqlConnection con = newSqlConnection("server=.;database=login;uid=sa;pwd=123456;"); con.Open(); } }
注:这里没有导入命名空间
实例2:在这个例子中,我们要创建一个可计算当前访客的 Global.asa 文件。
Application_Start设置当服务器启动时,Application变量"visitors"的值为 0。每当有新用户访问时,Session_Start子例程就会给变量 "visitors"加 1。每当Session_End子例程被触发时,此子例程就会从变量 "visitors"减 1。
public class Global :HttpApplication { protected voidApplication_Start(object sender, EventArgs e) { Application.Add("Visitor", 0);//创建初始值,并设置为0 }
Session_Start事件
protected void Session_Start(object sender,EventArgs e) { Session.Timeout = 1;//会话保持时间 Application.Lock();//锁定application对象变量,防止修改冲突 Application["Visitor"] =(int) Application["Visitor"] + 1; Application.UnLock(); }
Session_end事件
protected voidSession_End(object sender, EventArgs e)
{
Application.Lock();//锁定application对象变量,防止修改冲突
//最新人数, 断开需要减去一
Application["Visitor"] =(int) Application["Visitor"] - 1;
Application.UnLock();
}
asp页面后台代码
protected voidPage_Load(object sender, EventArgs e)
{
Response.Write(Application["Visitor"].ToString()+'访问此界面');//输出访问过的人数
this.btncose.Attributes.Add("onclick","window.close();");//脚本关闭
}
Gloabl文件是可选文件,位于根目录下,继承于Httpapplication类,可以设置初始化程序的变量(这个在实例1中已经演示),和会话级变量(实例2),连接数据库(详情请看实例1).
以上是对Global文件的基本认识,不足之处还请指正。