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; } } }
小智.. 7
如果您在日志中看到事件两次,请检查应用程序池是否设置为生成单个工作进程.每个工作进程都将创建自己的HttpAppication实例.
如果您在日志中看到事件两次,请检查应用程序池是否设置为生成单个工作进程.每个工作进程都将创建自己的HttpAppication实例.