c# – 每个进程初始化System.Web.HttpApplication的次数
我有global.asax从我创建的自定义类扩展,名为MvcApplication,它从System.Web.HttpApplication扩展.
在它的构造函数中,它记录下面的应用程序启动: protected MvcApplicationGeneral() { _log.Info("logApplicationStartToTextFile"); } 当我去查看日志文件时,这似乎被称为大量的次数,而不仅仅是每次应用启动一次.我在Application_Start中放置了另一个日志条目,似乎只被调用一次.是否根据请求实例化了Global.asax类,或者比每个应用程序更频繁地执行一次? 解决方法
创建和汇集了HttpAppliction对象的多个意图,以便在asp.net应用程序的生命周期中处理请求.
yes 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实例可能会重复用于多个请求. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |