Application_End()WebApi

时间:2012-12-21 15:47:11

标签: asp.net-web-api

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

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

2 个答案:

答案 0 :(得分:10)

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

当应用程序开始在应用程序池中运行时,IIS会调用

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

在卸载应用程序之前或应用程序池回收之前调用

Application_End()。有各种触发器会导致应用程序池回收。

答案 1 :(得分:1)

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

  

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

基本上,应用程序容器(例如IIS)会自动为每个应用程序生命周期调用一次。