Global.asax.cs扩展的HttpApplication类是否在应用程序的生命周期内存在?
在什么时候可以创建/销毁实例?
我正在经历两次application_start触发,它似乎与应用程序池回收有关,并且通过此过程发出请求.我还没有完全调试它,我现在没有时间深入研究它.那么,就上述问题而言,以下是一个安全的解决方案吗?
public class MvcApplication : System.Web.HttpApplication
{
public static object syncLock = new object();
public static bool applicationBooted;
protected void Application_Start()
{
if(!applicationBooted)
lock (syncLock)
if(!applicationBooted)
{
// bootstrap here
applicationBooted = true;
}
}
}
Run Code Online (Sandbox Code Playgroud)
从 MSDN 在线页面来看,
初始化所有核心应用程序对象后,通过创建 HttpApplication 类的实例来启动应用程序。如果应用程序具有 Global.asax 文件,则 ASP.NET 将创建派生自 HttpApplication 类的 Global.asax 类的实例,并使用派生类来表示应用程序。
| 归档时间: |
|
| 查看次数: |
6630 次 |
| 最近记录: |