【发布时间】:2020-07-09 23:43:57
【问题描述】:
我有一个 ASP.Net MVC 应用程序。 里面有大名鼎鼎的Global.asax(我没碰过):
public class MvcApplication : System.Web.HttpApplication
{
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas();
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
RouteConfig.RegisterRoutes(RouteTable.Routes);
BundleConfig.RegisterBundles(BundleTable.Bundles);
}
}
现在,人们说这是事件 应用程序启动时被触发。 对不起,我在这里看到的不是事件——这是一种方法。 我相信某处有一个事件正在被触发,并且指向这个 METHOD(所以这个方法是一个事件处理程序。我错了吗?)
我的问题是事件本身在哪里?我在所有解决方案中寻找它并没有找到它。
【问题讨论】:
-
您的应用程序继承了
System.Web.HttpApplication类,我想所有事件都在其中声明。Application_Start是事件处理器,你就在这里 -
如果您想深入挖掘,请查看Call Stack,然后按照ReferenceSource 上的
HttpApplication类中的这些方法进行操作。 -
好吧,这似乎比我最初想象的要多……但是,很难同意这里除了初始化和激活之外还有一个事件生命周期的前提
HttpApplicationASP.NET 的实例,更具体地说是ApplicationManager。关于Application_Start,它可能既不是事件也不是事件处理程序(没有引发它处理的事件)。 HttpApplication上有一个运行时编译,所以它可能是在Init事件处理范围内调用的可选方法... -
但我的概率是没有保证的..这是一个可以使用一些内幕信息的问题和前提。
标签: c# asp.net-mvc events global-asax eventhandler