vNext又稱MVC 6.0,不再需要依賴System.Web,佔用的記憶體大大減少(從前無論是多麼簡單的一個請求,System.Web本身就要佔用31KB記憶體)。
可以self-host模式運行,網站不再需要依賴IIS而運行,由此從此可以快速向客戶示範開發進度,以及更好地支援真正跨平台(Linux、Mac、Unix)。
Web Api、Web Pages與MVC完全融為一體,統稱MVC 6.0。在過去,輸出JSON,既可以使用MVC內建的returnJSON,也可以使用Web Api,這樣分而治之的場面給整個社區都帶來不良影響(JSON僅是其中一個例子,其它很多功能都是一樣),現在,Web Api 完全融入了vNext,重複的輪子在這裡終於得到終結。
支援Poco形式的Controller,代碼更加乾淨。
雲最佳化技術,也就是說在開發階段,系統本身並不真正載入某個組件,而是在運行時才查詢合適版本的組件,由此帶來的好處是在Azure雲主機、Mono主機和Windows主機上可以依賴最合適當前環境的某個組件Dll。
內建了依賴注入架構
使用Roslyn編譯器,產生的程式碼更高效
與1~5.x的差異:
1:Project.json代替了從前的Web.config:
·項目包的依賴項在dependencies節點中定義。
·configurations節點儲存的是項目設定資訊。
·commands節點儲存的是self-host配置參數,例如本地綁定連接埠號碼。
·自訂節點,例如自訂一個Data節點,在它的範圍中再定義一個DefaultConnectionString來記錄資料庫連接字串。
2:Startup.cs代替了Global.asax
3:Views檔案夾中不再需要專門的Web.config
當你添加某個引用(例如Entity Framework)的時候,需要網路即時載入,所以如果遇到“找不到某某類庫”的錯誤時,不要擔心,過一會就好了。
MVC的基本概念不變,依然是從前的 RouteTable、Controller、View、Action、Razor、Model