ASP.NET vNext 概述
阿新 • • 發佈:2018-12-29
github庫之間的依賴關係可以看下面這個圖 :
這個圖不是所有的依賴關係,從這裡可以看出ASP.NET vNext的一個架構:
- - 包括SDK和執行時 (kvm, kpm和kre),引導到 CoreCLR, full CLR 和mono 的邏輯都在這裡了,它還包括一些和編輯器互動的程式碼,比如 Visual Studio 智慧提示,編譯錯誤等等。K Runtime Environment(KRE)這是一個命令列環境,將構建並執行(不再有真正的區別)從他們的新project.json。ASP.NET vNext將packages.config、NuGet 配置(nuspec)以及專案檔案(csprojs)合併到統一的專案依賴配置檔案project.json中。有個簡單的應用程式K Version Manager (KVM)負責安裝KRE,可以安裝多個版本的KRE,並可以在他們之間自由切換。另外一個亮點是修改程式碼後,開發者無需編譯重啟即可檢視修改後的結果,ASP.NET vNext在保證吞吐能力的同時,還為開發者提供了
- - 這個庫包括新的Http抽象,包括但不限於 - HttpContext, HttpRequest,HttpResponse 和新的IBBuilder連線中介軟體. 也就是對 OWIN 的支援。
- - 這個專案可以瞭解如何啟動Web應用程式。 所有的邏輯就是找到啟動類和呼叫配置入口,它還包括一個編寫Http 伺服器所需要的介面,自己編寫一個ASP.NET vNext將是很容易的一件事。
- Razor - Razor就不需要介紹了。新的Razor 有一個不再依賴於dom新的程式碼生成模型,讓擴充套件它變得很簡單,同時確保新的Razor工具適用於其他使用Razor的框架 (Nancy, ServiceStack, SimpleWeb)。
- 有更多的擴充套件點
- 可以自宿主
- 控制器不需要一個基類.
- RazorViewEngine 是基於Roslyn的
- *Everything* 都是非同步的
ASP.NET vNext還在開發當中,還有很多變化的因數在裡面,指望在生成環境部署還尚早,如果你對他的程式碼感興趣,參與它的開發,為開源做貢獻,這篇文章給你帶來一個概貌。想閱讀一些程式碼,下面這些連結是個很好的切入點: