1.说明
通常一些错误的知识见解发表出来,有可能误导部分读者, 势必造成一定程度伤害。
说实话,试问那个人没有被别人坑过?理解万岁吧!所以本人的博文,如有误人子弟的地方,还望大侠们扶正!
如题,本章的知识点介绍只能算浅析了。理解得对不对?不好说。同样算是我的学习笔记就够了。
ASP.NET5 beta7已经发布一个多月了,预计近几天内该发布beta8了。
按照官方产品路线图公布来说,beta8该是所有功能开发大体上盖棺定论(不会大变动了)了。
然后再到RC版,就可用于生产环境中了,这是正式版前,最后一个版本了。
正式版刚好到年底或年初了,算是微软给粉丝们大大的新年红包啦。请耐心期待哦。
哎!读者要无语啦!其实这废话无非是要勾起大家“赶脚”学的欲望! 不扯了。
2.创建项目
新建项目:
选择项目模板:
生成的项目结构:
3.项目结构概述
global.json
{ "projects": [ "src", "test" ], "sdk": { "version": "1.0.0-beta7" } }
它是整体解决方案配置,包含projects和sdk两个部分。
projects:指定哪些文件夹包含源代码的解决方案。默认情况下项目结构源将这些文件放置在 src 文件夹中,允许生成工件放置在同级文件夹,使它更容易从源代码管理中排除这样的事情。
sdk:指定 DNX (.Net 执行环境)版本。使用 VS打开解决方案时,它是设置在这里,而不是在 project.json,以避免在解决方案中的不同项目针对不同版本的 SDK 的场景。
NuGet.Comfig
<?xml version="1.0" encoding="utf-8"?> <configuration> <packageSources> <!--To inherit the global NuGet package sources remove the <clear/> line below --> <clear /> <add key="api.nuget.org" value="https://api.nuget.org/v3/index.json" /> </packageSources> </configuration>
配置刚好和VS设置(“程序包管理器设置”)一致:
是不是没有必要这个配置文件?可假如你想从别处找下载安装源,通过配置就很方便啦。
当你使用dnvm程序包管理工具,也会默认从nuget.org下载,也可以通过这个配置文件改变。
微软是考虑方便性,才有了这个配置文件。没有它,就使用工具里的默认了。
wwwroot
在以前版本的 ASP.NET 中,项目的根通常是网站的根。
比如在早期版本的项目根放置 1.aspx 文件,它的请求就是web 应用程序的根。
在现在版本中,支持路由(Cotroller/Action),使它能够解耦从其对应的 Url文件的位置。
这种路由只用于特定于 ASP.NET 的应用程序逻辑,不是静态的文件需要由客户端到正确呈现所生成的页面。
资源,如图像、 脚本文件和样式表一般都仍在加载基于他们的应用程序,基于项目的根目录文件结构中的位置。
它实际是 web 应用程序发布后的根在 web 服务器上运行。
之外的文件(不放在wwwroot目录里的静态文件),如project.json,外部访问不到的。
除了安全好处,wwwroot 文件夹还简化了常见任务,如捆绑和缩小,以及自动化使用工具,规划好目录。
bower和npm
前端开发工具包。它的配置安装及使用在bower.json,package.json和gulpfile.js。
grunt和gulp功能类似,你可以使用:
右键gulpfile.js文件,打开任务:
关于这方面的知识(特别是js代码)太多,还是另开一篇文章,再介绍了。
Controller,Models,Views
对应mvc三大块了,没什么好说啦。
ViewModels
界面展示的视图模型或对Models模型组合,再定义等
Services
这个就高大上了。在老外的书中,叫什么服务模式。通常分解Controller代码,使得控制器代码少。
再深入点说,就扯到分层架构上……打住,算了。
注:通常有了服务(层)模式,再配合持久化层中的仓储(Repositories)模式。
Migrations
EF迁移后的文件夹
hosting.ini
配置project.json中的commands:
project.json
主要dependencies,commands,frameworks配置,很重要哦
Startup.cs
这个也关键了,了解它之后,才能对ASP.NET5有所认知了。
4.小结
由于一会有事,无心思考!下一篇再重点说project.json和Startup.cs(分析代码)。
仓促结束,遗憾!