一. 删除WebForm视图引擎
在MVC框架中检索视图的顺序为:当前控制器下对应的文件夹的aspx文件→share文件夹aspx文件→当前控制器下对应文件夹的cshtml文件→share文件夹的cshtml文件。
鉴于以上顺序,如果我们使用的MVC5框架中不需要WebForm的视图引擎,可以删除,来提高视图的检索速度。
同样是在Global.asax中操作,代码如下:
public class MvcApplication : System.Web.HttpApplication
{
/// <summary>
/// 删除WebForm视图即aspx文件视图检索引擎
/// </summary>
protected void RemoveWebFormEngines()
{
var viewEngines = ViewEngines.Engines;
var webFormEngines = viewEngines.OfType<WebFormViewEngine>().FirstOrDefault();
if (webFormEngines != null)
{
viewEngines.Remove(webFormEngines);
}
} /// <summary>
/// 网站第一次启动的时候会率先执行,且只执行一次
/// </summary>
protected void Application_Start()
{
AreaRegistration.RegisterAllAreas(); //区域
FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters); //过滤器
RouteConfig.RegisterRoutes(RouteTable.Routes); //常规路由
BundleConfig.RegisterBundles(BundleTable.Bundles); //js包、css包、combres //删除WebForm视图即aspx文件视图检索引擎
RemoveWebFormEngines();
//阻止MVC将版本号发回给浏览器
MvcHandler.DisableMvcResponseHeader = true;
//注册自定义实例化控制器的容器
ControllerBuilder.Current.SetControllerFactory(new UnityControllerFactory());
}
}
二. 隐藏MVC版本号
在Asp.Net MVC框架中,默认打开一个页面,会将MVC的版本显示在浏览器上,如下:
在Global.asax中的Application_Start()方法中添加一句话:MvcHandler.DisableMvcResponseHeader = true; 即可阻止将MVC版本暴露给浏览器,如下: