首页 > 代码库 > asp.net mvc 3.0 知识点整理 ----- (3).asp.net mvc 3 和asp.net mvc 4 对比

asp.net mvc 3.0 知识点整理 ----- (3).asp.net mvc 3 和asp.net mvc 4 对比

  asp.net mvc的版本更新很快,每个版本都在前一个版本的基础上,进行性能的优化和功能的完善和提升。

以下,便是我对比了下两个版本,发现最基本的差异。(更新补充中。。)

一、关于配置类Global.asax的不同

  为了较少配置类的杂乱代码,asp.net mvc 4 中 将Global.asax文件中的内容单独到 App_Start 下的几个配置文件中去。

在asp.net mvc 3 中:

public static void RegisterGlobalFilters(GlobalFilterCollection filters){    filters.Add(new HandleErrorAttribute());}
//设置路由public static void RegisterRoutes(RouteCollection routes){ routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapRoute( "Default", // 路由名称 "{controller}/{action}/{id}", // 路由匹配格式,默认URL new { controller = "Home", action = "Index", id = UrlParameter.Optional } // 默认参数 );}protected void Application_Start(){ AreaRegistration.RegisterAllAreas(); // Use LocalDB for Entity Framework by default Database.DefaultConnectionFactory = new SqlConnectionFactory(@"Data Source=(localdb)\v11.0; Integrated Security=True; MultipleActiveResultSets=True"); RegisterGlobalFilters(GlobalFilters.Filters); RegisterRoutes(RouteTable.Routes); BootstrapSupport.BootstrapBundleConfig.RegisterBundles(System.Web.Optimization.BundleTable.Bundles); BootstrapMvcSample.ExampleLayoutsRouteConfig.RegisterRoutes(RouteTable.Routes);}

在asp.net mvc 4中:

protected void Application_Start(){    AreaRegistration.RegisterAllAreas();    WebApiConfig.Register(GlobalConfiguration.Configuration);    FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);    RouteConfig.RegisterRoutes(RouteTable.Routes);    BundleConfig.RegisterBundles(BundleTable.Bundles);}

其中,使用到的config文件单独在了App_Start文件夹中。

WebApiConfig.cs用于注册Web API路由和配置设置。
FilterConfig.cs用来注册全局MVC过滤。(默认HandleErrorAttribute是已注册的)
RouteConfig.cs有关MVC路由的配置
BundleConfig.cs有关用于捆绑和缩小的注册捆,默认的css和js等。