我有一个ASP.NET应用程序,我在Application_OnStart事件中编写此代码:
public virtual void OnStart(HttpApplication httpApplication) { MyClass.PopulateIndices(); }
现在,我知道App_Onstart只被触发一次,所以我的问题是:我是否需要在此代码中添加线程安全性,例如:
lock(some object) { MyClass.PopulateIndices(); }
这个锁()真的需要吗?多个线程可以同时触发App OnStart吗?
解决方法
它只会被调用一次.当然.你不需要任何锁定.
来自MSDN:
The Application_Start method is called only one time during the life
cycle of an application.