Global.asax.cs介绍

Posted 新西兰程序员

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Global.asax.cs介绍相关的知识,希望对你有一定的参考价值。

转载  http://www.cnblogs.com/tech-bird/p/3629585.html

 

ASP.NET的配置文件

Global.asax--全局应用程序文件

Web.config--基于XML的应用程序配置文件

 

global.asax是一个文本文件,它提供全局可用代码。这些代码包括应用程序的事件处理程序以及会话事件、方法和静态变量。有时该文件也被称为应用程序文件。

global.asax文件中的任何代码都是它所在的应用程序的一部分。每个应用程序在其根目录下只能有一个global.asax文件。然而,这个文件是可选的。如果没有global.asax文件,应用程序将对所有事件应用由HttpApplication类提供的默认行为。

 

Global.asax文件主要有两种用途:

定义应用程序级和会话级的变量、对象和数据;

对应用程序内发生的基于应用程序和会话的事件处理程序。

 

Global.asax文件主要用来处理更高级别的应用程序事件,如Application_Start、Application_End、Session_Start、Session_End等。开发人员使用位于特定Web应用程序根目录下的Global.asax文件来创作此逻辑。第一次激活或请求应用程序命名空间内的任何资源或URL时,ASP.NET会将其Global.asax文件编译为从HttpApplication类派生而来的一个类。

 

Global.asax文件本身是可以配置的,通过禁止对Global.asax文件的未经授权访问,可以自动拒绝任何对其URL的请求。

当修改处于活动状态的Global.asax文件时,ASP.NET将关闭所有的会话,清楚对应用程序的所有当前请求,并向所有监听者(Listener)激发Application_End事件,然后重新启动应用程序。由于这个操作过程中,系统会关闭所有的会话,清空被存储的所有状态信息,因此,应该在Web应用程序没有流量或流量非常低的时候修改Global.asax文件。

可以统计当前网站的访问人数

为防止应用程序用户下载应用程序而看到源代码,ASP.NET缺省配置为阻止用户查看global.asax的内容。如果有人在浏览器输入以下URL:

http://localhost/progaspnet/Global.asax

这将会收到一个403(禁止访问)错误信息或者类似的信息如:

This type of page is not served。

提示:简单而言,web.config文件与global.asax有些类似的地方。如果这个文件被更改,应用程序将自动“重启”。同样,也不可能在浏览器中查看web.config文件。

 MVC中

此文件是

复制代码
namespace MvcApplication11
{
    // 注意: 有关启用 IIS6 或 IIS7 经典模式的说明,
    // 请访问 http://go.microsoft.com/?LinkId=9394801

    public class MvcApplication : System.Web.HttpApplication
    {
        protected void Application_Start()
        {
            //注册MVC应用程序中的所有区域
            AreaRegistration.RegisterAllAreas(); 

            WebApiConfig.Register(GlobalConfiguration.Configuration);
            FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
            RouteConfig.RegisterRoutes(RouteTable.Routes);
            BundleConfig.RegisterBundles(BundleTable.Bundles);
        }
    }
}
复制代码

分别注册

 

 BundleConfig.cs

http://www.cnblogs.com/tech-bird/p/3629401.html

 WebApiConfig.cs

http://www.cnblogs.com/tech-bird/p/3629611.html

以上是关于Global.asax.cs介绍的主要内容,如果未能解决你的问题,请参考以下文章

Global.asax.cs 为 /.aspx 执行子请求时出错。 Server.Transfer

为啥 Global.asax.cs 中的 Session_Start 会导致性能问题?

MVC4 中 Global.asax.cs 页面中的问题

在 global.asax.cs 中分配后未填充 Insights InstrumentationKey

为啥我在 Global.asax.cs 中的 Application_BeginRequest 没有被自托管的 WCF 服务调用

Global.asax无法找到代码隐藏类