为什么LazyInitializer.EnsureInitialized方法需要这么长时间?

时间:2013-12-11 14:21:12

标签: c# performance asp.net-mvc-4

当我们对MVC4应用程序进行性能测试时,它显示从数据库加载整个项目列表并显示给用户的主视图的方法非常慢。

Slow

global.asax占据了大约50%的资源,EnsureInitialized占据了资源的最大部分。

为什么会这样(我现在不显示代码,因为我不知道在哪里查看)以及如何更有效地制作这种方法?

1 个答案:

答案 0 :(得分:2)

Application_Start仅在应用启动时运行一次。不是每页。

EnsureInitialized可能需要很长时间,以防您的类型需要很长时间才能构建或者锁定是否存在争用。深入剖析分析器以了解更多信息。