《ASP.NET MVC 5 破境之道》:第一境 ASP.Net MVC5项目初探 — 第二节:MVC5项目结构

有些话、适合烂在心里 提交于 2020-04-24 13:53:21

第一境 ASP.Net MVC5项目初探 — 第二节:MVC5项目结构

接下来,我们来看看,VS为我们自动创建的项目,是什么样子的?

可以通过菜单中[View]->[Solution Explorer]项来打开解决方案资源管理器。这是一个树形结构的视图,根节点是解决方案,解决方案节点下,就是一个一个的项目了,目前,我们的解决方案里只有一个项目(HonorShop.Web)。

接下来,展开(HonorShop.Web)项目节点,概要介绍一下几个重要的目录和文件:

App_Data:顾名思义,用来放置应用程序相关数据文件的目录;

App_Start:这里边,默认有三个Config文件,都很重要,以后会经常用到

    • BundleConfig.cs:Bundling是MVC提供的一种对静态文件(如:JS脚本、样式表)进行优化的机制;
    • FilterConfig.cs:就是用来注册过滤器的。什么是过滤器?有什么用?怎么工作的?我们在后续章节中进行详细讲解;
    • RouteConfig.cs:配置MVC应用的路由;

说它们重要,自然是有道理的,因为我们后面会经常用到他们。

Content:用来放置一些静态资源(样式表、图片、音频、视频文件等)。VS默认生成了一个Site.css和Bootstrap框架样式表文件;

Scripts:也是用来放置静态资源,但主要是脚本文件。VS默认放置了bootstrap、jquery和modernizr几个前端框架;

    • bootstrap:是Twitter推出的一个用于前端开发的开源工具包。口号是:简洁、直观、强悍的前端开发框架,让web开发更迅速、简单;
    • jquery:就不做解释了,说多了都有辱盛名;
    • modernizr:是一个 JavaScript 库,用于检测用户浏览器的 HTML5 与 CSS3 特性;

fonts:可以添加一些客户端系统没有安装的字体(*.woff,*.svg);

Models、Views、Controllers:这三个目录为什么绑一块儿说,MVC么,模型、视图、控制器,密不可分,也是本书的主旨,他们的精神将贯穿全书;

Global.asax:这个文件默认包含一个继承自System.Web.HttpApplication的类MvcApplication,这个类中包含一个Application_Start()方法。Application_Start方法中,包含了AreaRegistration.RegisterAllAreas,FilterConfig.RegisterGlobalFilters,RouteConfig.RegisterRoutes和BundleConfig.RegisterBundles这四个初始化注册方法;MVC项目启动时,就会先运行Application_Start方法,这里是开发人员对MVC应用可控的第一入口点。当然,Application_Start不禁让我想起了Web Pages项目中的Global文件中,默认还会列出Application_End,Session_Start和Session_End方法,它们都被放弃了吗?并没有,只是没有出现在默认的创建中出现。

packages.config:使用NuGet管理应用程序依赖包的配置文件,可以在解决方案目录下的packages子目录中找到这些依赖文件;

Web.config:网站项目的配置文件;

 

喜欢本系列丛书的朋友,可以点击链接加入QQ交流群(994761602)【C# 破境之道】
方便各位在有疑问的时候可以及时给我个反馈。同时,也算是给各位志同道合的朋友提供一个交流的平台。
需要源码的童鞋,也可以在群文件中获取最新源代码。

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!