Asp.net MVC 移除不用的视图引擎

     Asp.net MVC 默认提供两个视图引擎,分别为: WebFormViewEngine 和 RazorViewEngine。MVC在查找视图时,会按照指定的顺序进行查找。当我们的MVC程序未找到相应视图时,页面中将出现如下错误信息:

 

      由上图可知,它优先执行的是 webform 视图引擎查找,其次才是 razor 视图引擎。而在我们mvc项目中,通常只用到 razor 或 webform 中的一种(大多数都是用的razor)。假如我们项目中只用到 razor ,那么在这种情况下,去执行 webform 视图引擎查找就显得多余。既然如此,我们就可以通过移除 webform 视图引擎来避免这个多余的动作(多多少少也能起到提升性能的作用)。移除操作还是很简单的,只需在 Global.asax 文件中的 Application_Start() 函数中加入如下代码即可:

protected void Application_Start()
{
      //省略函数中的其它代码

      // 清除所有视图引擎
      ViewEngines.Engines.Clear();

      //添加 Razor 
      ViewEngines.Engines.Add(new RazorViewEngine());
}

 

现在我们再次运行我们的MVC程序,当未找到相应视图时,页面中的错误信息如下:

 

 

     由图可见, WebFormViewEngine 已经被成功移除了,这样程序就不用去查找 WebFormViewEngine 相关的视图了。

posted @ 2016-06-09 10:04  前端小玖  阅读(1344)  评论(1编辑  收藏  举报