我們知道ASP.NET vNext是一個全新的框架,是一個與時俱進的框架。這篇文章將深入討論在整體架構更多的細節,文檔參照,還有這篇文章 。
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連接中間件. 也就是對 的支持。
- - 這個項目可以了解如何啟動Web應用程序。 所有的邏輯就是找到啟動類和調用配置入口,它還包括一個編寫Http 服務器所需要的接口,自己編寫一個ASP.NET vNext將是很容易的一件事。
- - Razor就不需要介紹了。新的Razor 有一個不再依賴于dom新的代碼生成模型,讓擴展它變得很簡單,同時確保新的Razor工具適用于其他使用Razor的框架 (Nancy, ServiceStack, SimpleWeb)。
- - 這是一個新的MVC/WebAPI/WebPages 相結合的框架,不過這里依然沒有Webform的位置。 新的mvc的一些新東東:
- 有更多的擴展點
- 可以自宿主
- 控制器不需要一個基類.
- RazorViewEngine 是基于Roslyn的
- *Everything* 都是異步的
- - 這個版本的功能和 相同,但是是基于新的http 堆棧和橫切關注點重構的。
ASP.NET vNext還在開發當中,還有很多變化的因數在里面,指望在生成環境部署還尚早,如果你對他的代碼感興趣,參與它的開發,為開源做貢獻,這篇文章給你帶來一個概貌。想閱讀一些代碼,下面這些鏈接是個很好的切入點:
by張善友 原文鏈接://www.cnblogs.com/shanyou/p/3764070.html
標簽:
.NETASP.NET
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都控件網