App_start folder has been introduced in Mvc4. It contains various configurations files like as :
- BundleConnfig.cs,
- FilterConfig.cs,
- RouteConfig.cs,
- WebApiConfig.cs
for you application.All those settings are registered within App_Start method of Global.asax.cs file
BundleConfig.cs:
This is used to create and register bundles for CS and JS files.By default various bundles are added in this file including jQuery,jQueryUI,jQuery validation,Modernizr and Site Css..
FilterConfig.cs-
This is used to create and register global MVC filter error filter,action filter etc.By default it contains HandleErrorAttribute filter.
RouteConfig.cs-
This is used to register various route patterns for your Asp.Net MVC application. By default,one route is registered here named as Default Route.
WebApiConfig.cs-
This is used to register various WEB API routes like as Asp.Net MVC,as well sa set any addtionsl WEB ApI configurations settings.
- AuthConfi g.cs: Used to confi gure security settings, including sites for OAuth login.
- BundleConfi g.cs: Used to register bundles used by the bundling and minifi cation system. Several bundles are added by default, including jQuery, jQueryUI, jQuery validation, Modernizr, and default CSS references.
- FilterConfi g.cs: Unsurprisingly, this is used to register global MVC fi lters. The only fi lter registered by default is the HandleErrorAttribute, but this is a great place to put other fi lter registrations.
- RouteConfi g.cs: Holds the granddaddy of the MVC confi g statements, Route confi guration.
- WebApiConfi g.cs: Used to register Web API routes, as well as set any additional Web API confi guration settings.
publicclassMvcApplication : System.Web.HttpApplication{protectedvoidApplication_Start(){AreaRegistration.RegisterAllAreas();WebApiConfig.Register(GlobalConfiguration.Configuration);FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);RouteConfig.RegisterRoutes(RouteTable.Routes);}}- It does 4 tasks:
- Register areas
- Register Web Api configuration
- Register global filters
- Register routes
So, where are the initialization code now?The template creates the “App_Start” folder and adds 3 class files:- FilterConfig.cs
- RouteConfig.cs
- WebApiConfig.cs
The initialization code is defined in the static method of each class.4. Routes Initialization in MVC 4The “RouteConfig” class defines the static “RegisterRoutes()” method.12345678910111213publicclassRouteConfig{publicstaticvoidRegisterRoutes(RouteCollection routes){routes.IgnoreRoute("{resource}.axd/{*pathInfo}");routes.MapRoute(name:"Default",url:"{controller}/{action}/{id}",defaults:new{ controller ="Home", action ="Index", id = UrlParameter.Optional });}}By using the named arguments, the code becomes more readable.
5. Global Filters in MVC 4The “FilterConfig” class defines the static “RegisterGlobalFilters()” method.1234567publicclassFilterConfig{publicstaticvoidRegisterGlobalFilters(GlobalFilterCollection filters){filters.Add(newHandleErrorAttribute());}}6. Web API Configuration in MVC 4The “Web API” is a nice addition to ASP.NET and is available from MVC 4.1234567891011publicstaticclassWebApiConfig{publicstaticvoidRegister(HttpConfiguration config){config.Routes.MapHttpRoute(name:"DefaultApi",routeTemplate:"api/{controller}/{id}",defaults:new{ id = RouteParameter.Optional });}}
No comments:
Post a Comment