首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >不存在HttpApplication.Start事件

不存在HttpApplication.Start事件
EN

Stack Overflow用户
提问于 2019-02-12 12:57:13
回答 1查看 317关注 0票数 1

我已经找了很长一段时间了,但没有找到答案。

我将把申请启动作为一个阶段。

大多数文档讨论的是Global.asax文件和Application_Start方法,它们只在第一个请求到达应用程序时调用一次,即使这种行为类似于订阅一个事件--它在技术上不是事件。

虽然生命周期事件(如BeginRequest、AuthenticateRequest等)可以作为事件通过应用程序实例访问,但Application.Start不是。

我可以在BeginRequest ()方法或Global.asax Init()方法中订阅Global.asax事件,但不能订阅如下所示的Application.Start阶段:

模块

代码语言:javascript
复制
public class MyModule : IHttpModule
{
  public void Init(HttpApplication httpApplication)
  {
    httpApplication.BeginRequest += new EventHandler(ApplicationBeginRequest);
  }
}

全球

代码语言:javascript
复制
public class Global : HttpApplication
{
  public override void Init()
  {
    BeginRequest += new EventHandler(ApplicationBeginRequest);
  }
}

我的问题:

由于应用程序实例中没有HttpApplication.Start事件可访问,所以Global.asax和"Application_Start“方法是订阅应用程序启动阶段的唯一希望吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-05-23 17:45:56

跳到Application_OnStart源代码之后,我发现HttpApplicationFactory类在Global.asax文件中查找一个名为HttpApplicationFactory或Application_Start的方法,然后使用反射=> ReflectOnMethodInfoIfItLooksLikeEventHandler().调用它。

我不知道为什么Application_OnStart不是事件,但很明显,它是以一种使用Application_StartApplication_Start方法的方式来处理的。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54650631

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档