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安裝

 

 

選中要安裝的組件:

 

 

安裝完成,進入初始頁。

默認安裝的.NET Framework

團隊資源管理器,提供對VS OnlineGitHub、本地Git庫的支持。

 

如何進行開發

 

 

對Windows開發

 

 

 

 

 

對web開發

 

 

 

 

 

 

ASP.NET 4.6模板

 

Web Forms

 

 

 

引用提示:

內置AJAXJQuery

 

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

依賴項

Bowerbowertwitter開源的一款web包(如bootstrapjquery)管理,依托github上越來越多的開源webhtml+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怎么用

 

 

依賴項怎么用

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開發

 

 

 

 

對Python和JavaScript開發

 

對團隊開發的支持

 

 

 

 

 

 

 

參考:

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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM