每个进程初始化System.Web.HttpApplication的次数

时间:2013-10-24 17:03:00

标签: c# asp.net global-asax

我的global.asax扩展自我创建的自定义类,名为MvcApplication,从System.Web.HttpApplication延伸。

在它的构造函数中,它按以下方式记录应用程序启动:

protected MvcApplicationGeneral()
{
    _log.Info("logApplicationStartToTextFile");
}

当我查看日志文件时,这似乎被称为很多次,而不是每个应用程序启动一次。我在Application_Start中放置了另一个日志条目,似乎只调用了一次。每个请求是实例化Global.asax类,还是每个应用程序只更新一次?

1 个答案:

答案 0 :(得分:34)

创建和汇集HttpAppliction对象的多个内容以处理asp.net应用程序生命周期中的请求。 是的,Application_Start只会被调用一次。

参考http://www.codeproject.com/Articles/73728/ASP-NET-Application-and-Page-Life-Cycle

摘录: 创建所有核心ASP.NET对象后,将创建“HttpApplication”对象以提供请求。如果您的系统中有'global.asax'文件,那么将创建'global.asax'文件的对象。请注意,global.asax文件继承自'HttpApplication'类。 注意:第一次将ASP.NET页面附加到应用程序时,会创建一个新的“HttpApplication”实例。为了最大限度地提高性能,HttpApplication实例可以重复用于多个请求。

enter image description here

相关问题