1.程序配置与入口
Global.asax.cs文件 是全局配置文件
类中的Application_Start()方法是程序的入口,可在此方法中配置程序的各种服务
关键服务:
①RegisterAllAreas:
注册所有区域 Area ,MVC中有Area的概念,在庞大复杂的项目中,可以使用Area将各个模块分割到每个Area中,每个Area有不同的路由规则,即路由地址不同。每个Area代表应用程序的不同功能模块。这对于大的工程非常有用,Area 使每个功能模块都有各自的文件夹,文件夹中有自己的Controller、View和Model,但对于管理也增加了一定的难度。
AreaRegistration.RegisterAllAreas(); 会去注册所有继承至AreaRegisteration 的类
②FilterConfig.RegisterGlobalFilters(GlobalFilters.Filters);
注册全局过滤器。
③RouteConfig.RegisterRoutes(RouteTable.Routes);
如下:表示起始页是home下的index页面
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 } // 参数默认值
}
注册路由规则:所谓的路由,就是URL到控制器类中某个Action的映射。三个参数:第一个表示路由的名称,第二个表示路由的规则,即符合什么格式的路由才能访问,第三个为定义默认值
④ BundleConfig.RegisterBundles(BundleTable.Bundles);
注册捆绑: Bundles用于组织优化html中请求js文件和css文件的一种技术。 例如我们在创建一个html页面的时候, 往往需要引入大量的js或者css文件,想象一下,如果我们有很多个页面都要做这种操作,那是很大的工作量。Bundle技术就是为了优化这种情况而产 生的技术。
Bundle 除了可以减少引用的复杂度之外,还可以减少网络请求的网络带宽,因为此技术会压缩js和css文件,并且可以减少网络的请求数。