一、Global.asax

1、global.asax是什么?

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

2、可选文件

Global 类

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

3、global 中的常用事件

Application_start;Application_end;Session_start;Session_end;

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

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

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

二、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"

global.asax?app.config?webconfig??的更多相关文章

  1. global.asax、global.asax.compiled、PrecompiledApp.config三者关系

    global.asax用WebDeploy发布后,会在bin下面产生一个global.asax.compiled,同时根目录下产生PrecompiledApp.config. 正常情况下global. ...

  2. ASP.NET中的Webconfig 和 Global.asax区别

    Web.Config与Global.asax的区别: Config可以根据不同的错误类型定义不同的错误页,网站重定义转向新的错误页面. Global,在全局错误中写入应用程序事件错误信息,并在当前页输 ...

  3. NSwag在asp.net web api中的使用,基于Global.asax

    https://github.com/NSwag/NSwag/wiki/OwinGlobalAsax This page explains how to use the NSwag OWIN midd ...

  4. asp.net(C#)网站发布后 Global.asax 里 Application_Error 不执行的问题

    现象 在 Global.asax 用 Application_Error 捕捉了http的404,500等错误,在本机测试正常,发布后无效,几经周折终于解决了... 程序是这样设计的 Applicat ...

  5. 【转载】App.config/Web.config 中特殊字符的处理

    写一个网站,遇到一个问题,发布以后,提示错误,但是即使打开错误提示(在web.config中打开),还是只提示错误,没提示什么地方错误,这让我知道了:是webconfig本身的错误,经过排除,是链接字 ...

  6. Global.asax 文件是什么

    Global.asax 文件,有时候叫做 ASP.NET 应用程序文件,提供了一种在一个中心位置响应应用程序级或模块级事件的方法.你可以使用这个文件实现应用程序安全性以及其它一些任务.下面让我们详细看 ...

  7. EF架构~在global.asax里写了一个异常跳转,不错!

    回到目录 一般地,网站出现异常后,我们会通过设置web.config的方法来实现友好页的显示,这个方法比较常用,但捕捉的信息不是很具体,在程序测试阶段,我们可以通过global.asax来实现友好的, ...

  8. 两种读写配置文件的方案(app.config与web.config通用)

    第一种方法:采用MS现有的ConfigurationManager来进行读写 using System.Configuration; namespace Zwj.TEMS.Common { publi ...

  9. ASP.NET Global.asax详解

    最近在研究bbsmax的代码,但是一直不知道入口在哪里,然后就对各个文件分析了,然后终于在对global.asax文件查看的时候看到Application_BeginRequest才明白入口,所以现在 ...

随机推荐

  1. MVC框架个人浅析

    1.概述: 相信不少前端从业者,都会遇到MVC编程模式,现今多数轻量级网站用php作为后台交互,MVC编程模式用于JAVAWEB开发,应用类型以系统占多数(包括并不限于系统,电商网站,平台交互当然都能 ...

  2. 文件上传插件Uploadify在Struts2中的应用,完整详细实例

    —>最近由于项目需要使用到一个上传插件,在网上发现uploadify挺不错,所以决定使用它,但是官网文档和例子是php的,而项目是SSI框架的,所以自己对uploadify在struts2中的使 ...

  3. VC用OLE方式读写Excel

    前几天要做一个项目,需要读取Excel中的数据.从网上查资料发现,主要是有两种方式.一是把Excel表当成数据库使用ODBC读写,这样操作起来就跟操作Access数据库似的.但这种方式效率比较低.另一 ...

  4. android键盘事件

    在main.xml文件中代码如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout ...

  5. Android应用程序的安装位置

    Android应用程序的默认安装位置以及是否可移动取决于开发者在其AndroidManifest.xml中的设置:   <manifestxmlns:android="http://s ...

  6. Android 基于Netty的消息推送方案之概念和工作原理(二)

    上一篇文章中我讲述了关于消息推送的方案以及一个基于Netty实现的一个简单的Hello World,为了更好的理解Hello World中的代码,今天我来讲解一下关于Netty中一些概念和工作原理的内 ...

  7. linux 常用find命令

    1.查找当前目录下以test开头的所有文件-会进入子目录中去查找 [root@rusky hgfs]# find -name test* 2.查找当前目录下名为test.txt的文件-会进入子目录中去 ...

  8. mybati之parameterType传递多个参数

    当在查询的时候需要传入多个参数的时候该怎么办呢: 1,封装成一个Model对象,底层HashMap还是一个 User user=new User(); user.setUserName("z ...

  9. IIS发布程序,出现:请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理解决方案

    windows 7(或者windows 2008)+iis7.5 出现如下错误的解决方法: 错误描述:请求的内容似乎是脚本,因而将无法由静态文件处理程序来处理 解决方法: 打开cmd命令窗口,执行如下 ...

  10. DataSet与DataTable的区别

    DataSet:数据集.一般包含多个DataTable,用的时候,dataset["表名"]得到DataTable DataTable:数据表. 一: SqlDataAdapter ...