Kar*_*sar 14 c# asp.net global-asax
我有一个global.asax
扩展自我创建的自定义类,称为MvcApplication
扩展自定义类System.Web.HttpApplication
.
在它的构造函数中,它按以下方式记录应用程序启动:
protected MvcApplicationGeneral()
{
_log.Info("logApplicationStartToTextFile");
}
Run Code Online (Sandbox Code Playgroud)
当我查看日志文件时,这似乎被称为很多次,而不是每个应用程序启动一次.我放了另一个日志条目Application_Start
,似乎只调用了一次.是Global.asax
按照请求实例化了类,还是每个应用程序只更新一次?
Sar*_*nya 38
在asp.net应用程序的生命周期中,创建和汇集HttpAppliction对象的多个内容以处理请求.是的,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实例可能会被重用于多个请求.