一、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. IIS7.0 Windows Server 2008 R2 下配置证书服务器和HTTPS方式访问网站

    配置环境 Windows版本:Windows Server 2008 R2 Enterprise Service Pack 1 系统类型: 64 位操作系统 了解HTTPS 为什么需要 HTTPS ? ...

  2. 文件下载,带转码->pdf->swf

    private String upload = "保存的路径"; //文件下载 public String download() { //初始化 this.initContext( ...

  3. Linux下Redis的安装、配置操作说明

    Redis 是一个高性能的key-value数据库. redis的出现,很大程度补偿了memcached这类keyvalue存储的不足,在部分场合可以对关系数据库起到很好的补充作用.它提供了Pytho ...

  4. FusionChart实现金字塔分布图

    1.XML提供数据源 Pyramid.xml: <?xml version="1.0" encoding="UTF-8"?> <chart m ...

  5. 用GDB调试多进程程序

    在子进程中sleep.然后attach上去. gdb --pid=123456 ps出子进程的id,gdb attach 进程号. http://www.ibm.com/developerworks/ ...

  6. VS2010调试小技巧

    在VS下做开发的时候我们进行调试的时候路径是这个样子的:http://localhost:端口号/项目名称/index.aspx 但是发布到服务器上面的时候却是这个样子的:http://www.xxx ...

  7. Hibernate Validation各注解的用法

    Bean Validation 中内置的 constraint @Null 被注释的元素必须为 null @NotNull 被注释的元素必须不为 null @AssertTrue 被注释的元素必须为 ...

  8. WPF之Binding的使用

    引出: 在WPF中Binding可以比作数据的桥梁,桥梁的两端分别是Binding的源(Source)和目标(Target).一般情况下,Binding源是逻辑层对象,Binding目标是UI层的控件 ...

  9. .NET基础拾遗(8)ADO.NET与数据库开发基础

    1.1 ADO.NET支持哪几种数据源? ① System.Data.SqlClient .NET程序员最常用的了.通过OLEDB或者ODBC都可以访问,但是SqlClient下的组件直接针对MSSQ ...

  10. 在Ubuntu下的Apache上建立新的website,以及enable mono

    1. 在Apache下建立新的web site a. $>cd /etc/apache2/ b. $>vi ports.conf 填加Listen 8090(注意不要打开8080,因为To ...