默认情况下,ASP.NET MVC 同时支持 WebForm 和 Razor 引擎,而我们通常在同一个项目中只用到了一种视图引擎,如Razor,那么我们就移除没有使用的视图引擎,提高View视图的检索效率。在没有删除WebForm引擎之前,检索控制器中不存在的视图时,可以看到视图的检索顺序先是Home目录,再是Shared目录下的aspx,ascx文件。如下图所示:
在Global.asax.cs中添加如下代码,即可奏效。
public class MvcApplication : System.Web.HttpApplication{protected void Application_Start(){RemoveWebFormEngines();AreaRegistration.RegisterAllAreas();FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);RouteConfig.RegisterRoutes(RouteTable.Routes);BundleConfig.RegisterBundles(BundleTable.Bundles);}/// <summary>/// 移除webform试图引擎/// </summary>void RemoveWebFormEngines(){var viewEngines = ViewEngines.Engines;var webFormEngines = viewEngines.OfType<WebFormViewEngine>().FirstOrDefault();if (webFormEngines != null){viewEngines.Remove(webFormEngines);}}}
移除后如下图所示: