ASP.NET5和MVC6新特性学习

版权所有,禁止匿名转载;禁止商业使用。

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


ASP.NET 5 现在已经是跨平台了,可以在 Mac 和 Linux 上运行。


不再有 Web Forms 框架了。


只支持 C# ,不在支持 VB.NET 了。(貌似最近又听说最终版 VB.NET 又要支持了)


新的 Tag 语法, @Html.LabelFor 或 Html.TextBoxFor 替换成新语法 <label asp-for="Name"> 或 <input asp-for="Name" /> ,以便进行模型绑定。


新增视图组件( View Component ),可以将局部内容定义为一个单独的组件进行调用,和 Web Forms 里的 WebControl 非常像。


拥抱前端技术,内置了 Nodejs 、 NPM 、 Grunt 、 Bower 技术。


模型整合,将 MVC 和 WebAPI 整合成一个框架。


支持 AngularJS ,帮内置了 AngularJS 的 module 、 controller 、 directive 、以及 factory 模板。


支持依赖注入技术,拥有原生的 DI 框架,并且也支持第三方容器。


支持 xUnit.net ,并抛弃了 Visual Studio Unit Testing 框架。


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


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


Visual Studio Enterprise 2015 RC安装


ASP.NET5,MVC6,MVC

ASP.NET5,MVC6,MVCASP.NET5,MVC6,MVC



选中要安装的组件:

ASP.NET5,MVC6,MVC


安装完成,进入初始页。


ASP.NET5,MVC6,MVC

默认安装的 .NET Framework


ASP.NET5,MVC6,MVC

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


如何进行开发


对Windows开发

ASP.NET5,MVC6,MVC


ASP.NET5,MVC6,MVC

对web开发



ASP.NET5,MVC6,MVC

ASP.NET5,MVC6,MVC

ASP.NET 4.6模板


Web Forms

ASP.NET5,MVC6,MVC


ASP.NET5,MVC6,MVC

ASP.NET5,MVC6,MVC

引用提示:


内置 AJAX 和 JQuery


ASP.NET5,MVC6,MVC

MVC


Web API

ASP.NET5,MVC6,MVC


ASP.NET 5模板


Empty


ASP.NET5,MVC6,MVC

ASP.NET5,MVC6,MVC

ASP.NET5,MVC6,MVC

ASP.NET5,MVC6,MVC

Web API

ASP.NET5,MVC6,MVC


与 Empty 相比,


多了 Properties 目录, launchSettings.json


ASP.NET5,MVC6,MVC

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

ASP.NET5,MVC6,MVC


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


ASP.NET5,MVC6,MVC

Web Site


ASP.NET5,MVC6,MVC

ASP.NET5,MVC6,MVC

ASP.NET5,MVC6,MVC



一个一个来看。


Solution Items 目录:


ASP.NET5,MVC6,MVC

global.json


用来对项目进行管理。

ASP.NET5,MVC6,MVC


src 目录:


ASP.NET5,MVC6,MVC

Properties 目录


ASP.NET5,MVC6,MVC

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


ASP.NET5,MVC6,MVC


ASP.NET5,MVC6,MVC

References

ASP.NET5,MVC6,MVC


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



ASP.NET5,MVC6,MVC


ASP.NET5,MVC6,MVC

ASP.NET5,MVC6,MVC

ASP.NET5,MVC6,MVC

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


ASP.NET5,MVC6,MVC

ASP.NET5,MVC6,MVC

wwwroot

39.png

ASP.NET5,MVC6,MVC



依赖项


依赖项

依赖项


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


ASP.NET5,MVC6,MVC

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


ASP.NET5,MVC6,MVC

Compiler


Compiler

Compiler


Migrations

Migrations



Models/Views/Controllers


Models/Views/Controllers

Models/Views/Controllers



bower.json:


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


config.json:


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


gulpfile.js:

gulpfile.js


MessageServices.cs


MessageServices.cs

Package.json


Package.json

Startup.cs


Startup.cs

Startup.cs

Startup.cs

Startup.cs




对Web开发新特性的学习


Tag Helpers


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

Tag Helpers


wwwroot怎么用


Compiler怎么用


global.json怎么用


依赖项怎么用


Bower 和 Gulp 怎么用


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开发


Android,IOS开发

对Python和JavaScript开发


Python,JavaScript

对团队开发的支持


参考:


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


0 0