gpt4 book ai didi

c# - 每个进程初始化 System.Web.HttpApplication 多少次

转载 作者:可可西里 更新时间:2023-11-01 08:01:42 24 4
gpt4 key购买 nike

我有 global.asax,它从我创建的自定义类扩展而来,称为 MvcApplication,它从 System.Web.HttpApplication 扩展而来。

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

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

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

最佳答案

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

关于c# - 每个进程初始化 System.Web.HttpApplication 多少次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19572154/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com