ASP.NET5和MVC六新特性学习

ASP.NET5和MVC6新特性学习

ASP.NET5和MVC6新特性学习

 

 

ASP.NET5和MVC6的新特性

在新版ASP.NET5MVC6中,有很多变化,有些是彻底的变化,比如在最底层支持依赖注入技术,为了方便了解,我们这里列出了最重要的10大变化,以便进行学习,具体如下:

  1. ASP.NET 5现在已经是跨平台了,可以在MacLinux上运行。
  2. 不再有Web Forms框架了。
  3. 只支持C#,不在支持VB.NET了。(貌似最近又听说最终版VB.NET又要支持了)
  4. 新的Tag语法,@Html.LabelForHtml.TextBoxFor替换成新语法<label asp-for="Name"><input asp-for="Name" />,以便进行模型绑定。
  5. 新增视图组件(View Component),可以将局部内容定义为一个单独的组件进行调用,和Web Forms里的WebControl非常像。
  6. 拥抱前端技术,内置了NodejsNPMGruntBower技术。
  7. 模型整合,将MVCWebAPI整合成一个框架。
  8. 支持AngularJS,帮内置了AngularJSmodulecontrollerdirective、以及factory模板。
  9. 支持依赖注入技术,拥有原生的DI框架,并且也支持第三方容器。
  10. 支持xUnit.net,并抛弃了Visual Studio Unit Testing框架。

 

 

 

ASP.NET 5中的MVCWeb APIWeb Pages三个框架会合并成一个框架,统称为MVC6。该合并工作将删除三个框架中重复的功能,比如MVCWeb API中的两种Controller只保留一种。但是传统MVC的功能都会保留,比如模型绑定。不过,据说Web PagesRTM的时候不会发布,而是会在RTM之后的第一次更新中进行发布。

MVC6会引入一些新功能,最引人注目的功能就是Tag HelpersView ComponentsTag HelpersHtml Helpers的一种替换,而View Components则引入里类似Web Forms中的WebControl的概念。

 

Visual Studio Enterprise 2015 RC安装

 

ASP.NET5和MVC六新特性学习

ASP.NET5和MVC六新特性学习

ASP.NET5和MVC六新特性学习

 

选中要安装的组件:

 

ASP.NET5和MVC六新特性学习

 

安装完成,进入初始页。

ASP.NET5和MVC六新特性学习

默认安装的.NET Framework

ASP.NET5和MVC六新特性学习

团队资源管理器,提供对VS OnlineGitHub、本地Git库的支持。

 

如何进行开发

 

 

对Windows开发

 

ASP.NET5和MVC六新特性学习

 

ASP.NET5和MVC六新特性学习

 

 

 

对web开发

ASP.NET5和MVC六新特性学习

 

ASP.NET5和MVC六新特性学习

 

 

 

 

 

ASP.NET 4.6模板

 

Web Forms

ASP.NET5和MVC六新特性学习

 

ASP.NET5和MVC六新特性学习

 

ASP.NET5和MVC六新特性学习

 

引用提示:

内置AJAXJQuery

ASP.NET5和MVC六新特性学习

 

MVC

 

Web API

 

 

ASP.NET5和MVC六新特性学习

 

 

ASP.NET 5模板

 

Empty

 

ASP.NET5和MVC六新特性学习

ASP.NET5和MVC六新特性学习

ASP.NET5和MVC六新特性学习

ASP.NET5和MVC六新特性学习

 

 

 

 

Web API

 

ASP.NET5和MVC六新特性学习

 

Empty相比,

多了Properties目录,launchSettings.json

ASP.NET5和MVC六新特性学习

wwwroot目录下多了web.config文件。

ASP.NET5和MVC六新特性学习

多了Controllers目录,并多了ValuesController.cs文件。

ASP.NET5和MVC六新特性学习

 

Web Site

ASP.NET5和MVC六新特性学习

ASP.NET5和MVC六新特性学习

 

ASP.NET5和MVC六新特性学习

一个一个来看。

Solution Items目录:

ASP.NET5和MVC六新特性学习

global.json

用来对项目进行管理。

ASP.NET5和MVC六新特性学习

src目录:

ASP.NET5和MVC六新特性学习

Properties目录

ASP.NET5和MVC六新特性学习

用于进行一些配置信息的存取。

ASP.NET5和MVC六新特性学习

 

ASP.NET5和MVC六新特性学习

References

ASP.NET5和MVC六新特性学习

通过project.json中的dependencies进行管理。

ASP.NET5和MVC六新特性学习

ASP.NET5和MVC六新特性学习

ASP.NET5和MVC六新特性学习

ASP.NET5和MVC六新特性学习

Nuget会自动下载相应的引用。

 

ASP.NET5和MVC六新特性学习

ASP.NET5和MVC六新特性学习

 

wwwroot

ASP.NET5和MVC六新特性学习

ASP.NET5和MVC六新特性学习

依赖项

ASP.NET5和MVC六新特性学习

ASP.NET5和MVC六新特性学习

Bowerbowertwitter开源的一款web包(如bootstrapjquery)管理,依托github上越来越多的开源webhtml+css+js)项目,bower只需要github项目加一个配置文件就可以使用bower方式管理。bower提供了web包的添加、升级、删除、发布,以及管理包依赖,只需命令方式,即可轻松管理,再也不需要去手工下载拷贝文件了。

ASP.NET5和MVC六新特性学习

 

NPM:npm Node.js 的模块依赖管理工具。作为开发者使用的工具,主要解决开发 Node.js 时会遇到的问题。如同 RubyGems 对于 Ruby 开发者和 Maven 对于 Java 开发者的重要性,npm 对与 Node.js 的开发者和社区的重要性不言而喻。现在已经移植到全宇宙最无敌的开发工具Visual Studio中了。

ASP.NET5和MVC六新特性学习

 

 

Compiler

ASP.NET5和MVC六新特性学习

ASP.NET5和MVC六新特性学习

 

Migrations

ASP.NET5和MVC六新特性学习

 

Models/Views/Controllers

ASP.NET5和MVC六新特性学习

 

 

ASP.NET5和MVC六新特性学习

bower.json:

面已经提到过,是对Bower的管理。

config.json:

上面也已经提到过,是对一些配置信息的管理。如:网站title,数据库连接字符串等。

gulpfile.js:

 

ASP.NET5和MVC六新特性学习

 

MessageServices.cs

ASP.NET5和MVC六新特性学习

 

Package.json

ASP.NET5和MVC六新特性学习

 

 

Startup.cs

ASP.NET5和MVC六新特性学习

 

 

ASP.NET5和MVC六新特性学习

ASP.NET5和MVC六新特性学习

ASP.NET5和MVC六新特性学习

 

 

对Web开发新特性的学习

Tag Helpers

Tag Helper的应用,极大地方便了前端开发人员,因为可以看到正常的HTML结构。

ASP.NET5和MVC六新特性学习

 

 

 

wwwroot怎么用

 

 

Compiler怎么用

 

 

global.json怎么用

 

 

依赖项怎么用

BowerGulp怎么用

 

Gulpfile.js怎么用

 

参考:

https://github.com/gulpjs/gulp/blob/master/docs/API.md

 

 

 

config.json怎么用

 

 

project.json怎么用

 

 

 

 

MessageServices.cs怎么用

 

 

 

 

StartUp.cs怎么用

 

 

 

 

WebSite能实现跨平台吗?

 

 

 

 

能不运行在IIS上吗?

 

 

 

如何部署

 

 

 

AngularJS的支持

 

 

 

依赖注入

 

 

 

XUnitTest

 

 

 

对Android和IOS开发

ASP.NET5和MVC六新特性学习

 

 

 

 

对Python和JavaScript开发

ASP.NET5和MVC六新特性学习

 

对团队开发的支持

 

 

 

 

 

 

 

参考:

http://docs.asp.net/en/latest/getting-started/index.html