当前位置: 代码迷 >> Web前端 >> global.asax?app.config?webconfig?
  详细解决方案

global.asax?app.config?webconfig?

热度:601   发布时间:2013-09-29 11:07:08.0
global.asax?app.config?webconfig??

一、Global.asax

 

1、global.asax是什么?

 

一个文本文件,至于它包含写什么内容?顾名思义,global 肯定是掌管一个应用程序(application)的全局性的东西,例如应用程序的事件处理程序以及会话事件、方法和静态变量。So,一个应用程序(application)的根目录中就只能有一个Global文件。

 

 2、可选文件

 

Global

global.asax 文件头:publicclass Global : HttpApplication。发现这个文件中的global 类是继承自 HttpApplication类。也就是说这个global中类都是来自HttpApplicationSo这个文件是可选的。也就是说,如果没有global.asax 这个类,应用程序(Application)的全局性东西将由HttpApplication类来默认提供。

 

3global 中的常用事件

 

Application_start;Application_end;Session_start;Session_end;

 

Application_Disposed:当CLR从内存中移除应用程序时触发。

 

Application_Error:无论在应用程序中何时何处发生未处理的错误都将触发。它提供了一个实现通用应用程序错误处理的好机会。

 

只写了这几个事件,是因为现阶段,我只学到了ASP.NET 常用的几个内置对象,然后再看global 中的事件,Applicationsession 这不是都是对全局事件的处理吗??

 

 

 

二、global.asax & Web.config

 

1、级别不同

 

Global.asax 仅且只能处于应用程序(application)的根目录中;web.config则不同,处于应用程序根目录亦可,次级目录亦可。

 

2、作用不同

 

Global.asax 是设定应用程序(application)中事件,控制应用程序(application)的执行,只有当应用程序(application)包含的事件发生变化时,才会执行global.axas 文件;而web.config 是用来对应用程序(application)进行设置的,每个页面启动时都会先运行web.config 文件。

 

3、相同

 

两者都不被外界访问。

 

这个可以结合下面的这段话理解:一个应用程序(application)中只会初始化一个httpApplication 类,但是会有N多个web pages.而这个Global.asax文件就是主管一个Application类的大方向控制,所以当我们登陆一个应用程序时,在这个应用程序的页面间来回跳转,有些信息是保持,例如:session是不变的;但是每个页面需要具体的web.config 来进行详细配置。如果某个页面没有web.config 页面,也不是问题,它汇集成子父类的web.config 页面,因为在应用程序(application)的根目录下有一个web.config文件。其他子程序可以继承这个web文件。

 

 

三、Web.config & App.config

 

这个就更好说了。从C/S编程到B/S编程的同学就很容易对比了。

书上说:app.config,是桌面应用程序的配置文件;

web.config是ASP.NET应用程序的配置文件

我说:其实这两个文件是一样的,只是在C/S 中叫“App.config",B/S中叫做“Web.config"

 

 

 

 

  相关解决方案