是否在ASP.NET MVC中编写视图的良好实践?

时间:2013-01-11 17:50:13

标签: asp.net-mvc-3 razor compilation

在ASP.NET MVC中,您可以通过将项目文件中的以下键设置为true来启用视图编译:

<MvcBuildViews>true</MvcBuildViews>

然后,无论何时编译解决方案,您的视图也将被编译,这很好,因为它允许您在编译时而不是运行时查找错误。这在重构时特别有用,因为它可能会错过重命名的属性,或者在视图中更改名称空间。

我只能看到好处,所以为什么这个选项不仅默认设置,而且甚至在Visual Studio 2010 UI中都没有,并且通常需要对配置进行一些额外的更改,如下所述: http://odetocode.com/blogs/scott/archive/2011/02/16/notes-on-building-razor-views.aspx

编译ASP.NET MVC视图有什么合理的缺点吗?

2 个答案:

答案 0 :(得分:3)

我不会说这是“良好做法”,也不是“不良做法”。它只是工具箱中的另一个工具。

默认情况下没有启用它的原因是,虽然小项目没问题但很快就变得非常慢,在中型到大型项目上花费几分钟。

此外,它只捕获特定类型的错误。因此,不要依赖它。

答案 1 :(得分:1)

假设这类似于Web表单项目中的预编译页面。是的,这将有很多好处,因为它会使应用程序执行得更好,因为当用户访问视图时,不必编译视图。

这可以使更小的变化更难;我遇到了你必须对代码进行一些小改动的场景。如果必须重新部署,它可以回收应用程序并强制用户丢失工作。老实说,我使用这种功能的大多数都是使用网页表单,但过程应该类似。

它也使部署变得更加困难,但我并不认为这是一个骗局,因为部署很少见。