轉發:微軟MVP 盧建晖 的文章,希望對大家有幫助。原文:http://blog.csdn.net/kinfey/article/details/44459625
編者語 : 昨晚寫好的文章居然csdn不審核,這個也難怪人,但自己比較忙沒辦法。分享繼續,今天談ASP.NET MVC 6.
我蠻喜歡Ruby On Rails 這種約定勝於配置的框架,在.NET 有ASP.NET MVC 和Java有Play! Framework . ASP.NET MVC 版本基本上每年一更新,從不讓你失望。我們現在來看看ASP.NET MVC 6的變化,上一篇已經把基本的配置和改變說了(一步一步學習ASP.NET 5 (三)- 認識新的Web結構),今天看看MVC 6的幾個特性。
1. 統一的MVC和WebAPI Controller
在過去版本中,你需要定義WebAPI時必須繼承自基於System.Web.Http.ApiController ,而如果是一般的頁面Controller就需要繼承自 System.Web.MVC.Controller 。而在新的ASP.NET MVC 6中,微軟統一了MVC和WebAPI,他們都繼承自Microsoft.AspNet.Mvc.Controller。
ASP.NET MVC 6 Controller中,每個Action返回的都是一個IActionResult的接口,它會依據情況去返回頁面還是數據。在MVC 6中特別的地方是WebAPI和頁面Controller可以使用相同的路由規則。你也可以通過公共方法或者通過屬性標簽去設定路由規則。
2. Tag Helper (https://github.com/DamianEdwards/TagHelperStarterWeb)
開發ASP.NET MVC你會對那些神奇的Tag helper有深刻印象。下面這段代碼很熟悉吧
雖然方便不過大大破壞了html的可讀性。新的版本,有了更佳的可讀性,更貼近html.
3. View Commpents
這是全新的子視圖,取代了原有的SubController。(這個功能個人比較少用),我i的理解是更好地利用好頁面部件。他能真正做到局部響應。(大家可以參考這裡 : http://www.asp.net/vnext/overview/aspnet-vnext/vc)
4.依賴注入
ASP.NET 5 已經帶了依賴注入,你不需要再使用第三方的IoC方式了(話需如此,你也可以通過第三方的方式去完成不過現階段都很麻煩)。依賴注入基於Microsoft.Framework.DependencyInjection 。你需要在Startup.cs中的ConfigureServices方法中配置。
ASP.NET MVC 6 在原有的基礎上改進了功能,優化了前端頁面Razor的結構,對於開發和維護更方便快捷。個人就比較喜歡統一了WebAPI 和普通頁面Controller,和添加了依賴注入的功能。你呢?
補充一句,由於工作較忙,文章會在周日繼續,希望大家會想我