ASP.NET MVC与WebForms的大项目首页加载速度

时间:2008-12-12 01:21:16

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

我们有一个非常大的ASP.NET WebForm(Web应用程序)项目,其中包含大量对其他库,其他项目等的引用,并且大部分时间在编译之后,我们第一次加载页面时需要很长时间在渲染之前...磁盘IO是主要问题。对于小型项目来说,它几乎是即时的,但是一旦你的项目变得庞大,它就会真正减慢开发速度并消除编程带来的乐趣。

我的问题: 在ASP.NET MVC中编译之后的第一页加载时间与在大型项目的ASP.NET Webforms中一样吗?

3 个答案:

答案 0 :(得分:3)

MVC仍然使用与Web窗体相同的ASP.NET框架,因此您可能会看到类似的行为,无论如何。

较长的首次加载时间是因为项目的构建输出仍然只是IL代码,需要在执行之前由JIT编译器编译为本机代码。您所做的任何代码更改都将导致您的应用程序的先前缓存的本机代码被丢弃,因此JIT必须重新编译。当然,项目越大,JIT处理它的时间就越长。

答案 1 :(得分:2)

您将在两种环境中看到类似的加载时间。

在这两种环境中,如果您的网站变大,您应该在部署之前预先编译您的网站。这将消除首页加载时的性能拖累。

答案 2 :(得分:1)

可以做很多事情来提高性能,为了在MVC应用程序中提供关注点分离的增强功能可以提供很多帮助。虽然默认视图引擎重新使用了webforms,但是视图具有比典型webforms更简单的控制堆栈,这有很大帮助,甚至没有提到替代视图引擎。

“第一个视图”的命中来自于JIT在项目中使用的大量类/对象,它是第一页。

免费获取贴纸的机会↓↓↓
豫ICP备18024241号-1