6

在 ASP.NET WebAPI 中,global.asax.cs 文件中有一个名为 ApplicationStart 的方法,该方法在应用程序启动时自动调用。这个怎么称呼?

我问的原因是我想添加一个 Application_End 方法来做我需要做的任何清理工作。

4

2 回答 2

13

就 Global.asax 方法而言,ASP.NET WebApi 与 ASP.NET 没有什么不同。这些方法由 IIS 应用程序池工作程序在加载应用程序时通过反射发现,然后在适当的时间调用。在MSDN上有一个很好的概述。

Application_Start()当应用程序开始在应用程序池中运行时由 IIS 调用。通常,当请求进入应用程序域内的资源时,就会发生这种情况。毕竟,必须运行应用程序才能为请求提供服务。

Application_End()在应用程序卸载之前或应用程序池回收之前调用。有多种触发器会导致应用程序池回收。

于 2012-12-21T15:58:45.363 回答
2

MSDN 在此处提供了完整的详细信息 - http://msdn.microsoft.com/en-us/library/ms178473(v=vs.100).aspx,但您感兴趣的关键点是:

Application_Start ..... 当请求 ASP.NET 应用程序中的第一个资源(例如页面)时调用。Application_Start 方法在应用程序的生命周期中仅调用一次。您可以使用此方法执行启动任务,例如将数据加载到缓存中和初始化静态值。

本质上,它在每个应用程序生命周期中由应用程序容器(例如 IIS)自动调用一次。

于 2012-12-21T15:59:05.770 回答