微軟繼MVC5後,出現ASP.NET VNEXT

weixin_34292959發表於2017-06-30

     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配置引數,比如本地繫結port號。 

·自己定義節點。比如自己定義一個Data節點。在它的作用域中再定義一個DefaultConnectionString來記錄資料庫連線字串。

 

2:Startup.cs取代了Global.asax 
 3:Views目錄中不再須要專門的Web.config 

當你加入某個引用(比如Entity Framework)的時候,須要網路實時載入,所以假設遇到“找不到某某類庫”的錯誤時,不要操心,過一會就好了。

    MVC的基本概念不變,依舊是從前的 RouteTable、Controller、View、Action、Razor、Model 

相關文章