Global文件(修正篇)

什么是Global文件

 

Global.asax文件俗称为一个类,继承于Httpapplication位于应用程序根目录下。也可称为应用程序文件

 

概述:


Global文件是可选的,一般在创建应用程序的时候自动创建。ASP.NET页面框架会自动识别global页面的修改,并重启应用程序。

 

下面看看Global的一些基本事件,声明这里不做介绍

 

Global文件(修正篇)_第1张图片

 


Global的事件中,我们可以告诉ApplicationSession对象在启动和结束的时候做什么事情,完成这项任务的代码就事件操作中。

 

实例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文件的基本认识,不足之处还请指正。

你可能感兴趣的:(session,asp.net)