ASP.NET5和MVC6新特性学习

ASP.NET5和MVC6新特性学习

?

?

ASP.NET5和MVC6的新特性

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

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

?

?

选中要安装的组件:

?

?

安装完成,进入初始页。

默认安装的.NET Framework

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

?

如何进行开发

?

?

对Windows开发

?

?

?

?

?

对web开发

?

?

?

?

?

?

ASP.NET 4.6模板

?

Web Forms

?

?

?

引用提示:

内置AJAX和JQuery

?

MVC

?

Web API

?

?

?

?

ASP.NET 5模板

?

Empty

?

?

?

?

?

Web API

?

?

与Empty相比,

多了Properties目录,launchSettings.json

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

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

?

Web Site

?

一个一个来看。

Solution Items目录:

global.json

用来对项目进行管理。

src目录:

Properties目录

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

?

References

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

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

?

?

wwwroot

依赖项

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

?

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

?

?

Compiler

?

Migrations

?

Models/Views/Controllers

?

?

bower.json:

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

config.json:

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

gulpfile.js:

?

?

MessageServices.cs

?

Package.json

?

?

Startup.cs

?

?

?

?

对Web开发新特性的学习

Tag Helpers

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

?

?

?

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

?

?

?

?

对Python和JavaScript开发

?

对团队开发的支持

?

?

?

?

?

?

?

参考:

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

?

?

时间: 2024-10-10 04:02:39

ASP.NET5和MVC6新特性学习的相关文章

spring4.0.6最新稳定版新特性学习,简单学习教程(一)

Spring Framework 4.0 学习整理. Spring框架的核心部分就是Ioc容器,而Ioc控制的就是各种Bean,一个Spring项目的水平往往从其XML配置文件内容就能略知一二,很多项目,往往是外包公司的项目,配置文件往往是乱七八糟,抱着能跑就行,不报错就行的态度去写,然后在项目中后期发现各种缺失又去一通乱补,其结果就是,整个文档可读性极差,毫无章法.这也不能怪写这个XML的人,拿着苦逼程序员的工资干着架构师的工作必然是这个结果.为了程序员的幸福,我认为有必要来一套简单快速的官方

微软下一代网站开发框架:ASP.NET MVC 6 新特性揭秘

 国内第一个<微软下一代网站开发框架:ASP.NET MVC 6 新特性揭秘 >课程 微软特邀讲师 徐雷!周六晚8点YY预定:http://t.cn/RPKMLGF 微软Visual Studio 2014 即将发布!ASP.NET MVC 6有什么新特性? Web API 3.0有什么新变化? 什么是动态编译?什么是原生编译?@微软中国MSDN 收起|查看大图|向左转|向右转 微软下一代网站开发框架:ASP.NET MVC 6 新特性揭秘

spring4.0.6最新稳定版新特性学习,注解自动扫描bean,自动注入bean(二)

Spring4.0的新特性我们在上一章已经介绍过了.包括它对jdk8的支持,Groovy Bean Definition DSL的支持,核心容器功能的改进,Web开发改进,测试框架改进等等.这张我们主要介绍spring4.0的自动扫描功能,以及对bean的过滤等特性进行学习. 好吧,废话少说,我们来看看代码吧. package com.herman.ss.test; import org.springframework.context.ApplicationContext; import org

ES7/8新特性学习随笔

随着每年EcmaScript都会为js带来一些新特性,带来更多美化的编程体验,今天就走进一下es2016/2017所带来的新特性 ES7新特性 includes() 指数操作符 ES8新特性 async/await Object.values() Object.entries() Object.getOwnPropertyDescriptors() String padding 函数参数列表结尾允许逗号 ? 开始学习ES7 1. Array.prototype.includes() includ

ES6新特性学习

ES6是ECMAScript 6的缩写简称,2015 年 6 月,ECMAScript 6 正式通过,成为国际标准.ES6带来的新功能涵盖面很广,还有很多很便利的功能.下面来记一下我接触到的几个新特性. 1.模板字符串,用反单引号包起来,可以实现字符串回车换行,也可以在字符串里拼接变量,${变量},很方便使用. var name="fanfan"; var age="20"; console.log("Hello,My name is "+nam

HTML5新特性学习-1

本文在于巩固基础 新特性:音频的使用 <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title>播放音乐</title> <link rel="stylesheet" type="text/css" href="Css/myCss.css"/>

实例快速上手 -ASP.NET 4.5新特性WebAPI从入门到精通

在新出的MVC4中,增加了WebAPI,用于提供REST风格的WebService,新生成的WebAPI项目和典型的MVC项目一样,包含主要的Models.Views.Controllers等文件夹和Global.asax文件.Views对于WebAPI来说没有太大的用途,Models中的Model主要用于保存Service和Client交互的对象,这些对象默认情况下会被转换为Json格式的数据迚行传输,Controllers中的Controller对应于WebService来说是一个Resou

HTML5语言的28个新特性学习

1. 新的Doctype 尽管使用<!DOCTYPE html>,即使浏览器不懂这句话也会按照标准模式去渲染 2. Figure元素 用<figure>和<figcaption>来语义化地表示带标题的图片 <figure> <img src="path/to/image" alt="Aboutimage" /> <figcaption> <p>This is an image of

JDK7新特性学习之 --- switch的表达式

JDK7之前,switch中表达式只能是char.byte.short.int及其对应的包装类和枚举类型.JDK7之后java中新增加了String类型作为switch的表达式之一. 但是在使用String类型作为表达式的时候,case语句有可能会出现重复的情况,例如字符串和其对应的Unicode转义字符,字面上是两个不同的字符串,但是在编译的时候,表示的都是一样的,所以会造成编译错误. 例如: /** * 会出现编译错误 */ public class Test{ public String