【发布时间】:2009-09-08 21:40:45
【问题描述】:
由 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;
}
}
}
【问题讨论】:
-
您找出问题所在了吗?我有非常相似的问题。
-
@Piotr 我认为这是一个红鲱鱼,我认为我在启动代码的其他地方遇到了线程问题,发送两个初始请求很有趣。不记得了,抱歉
标签: asp.net