ASP.NET 5與MVC 6中的新特性

infoq發表於2015-07-23

  雖然人們的目光都專注於ASP.NET 5與跨平臺的執行引擎上,但作為微軟推薦的UI與Web Service框架,MVC也引入了多項變更。其中最重要的一點莫過於MVC、Web API與Web Pages三者的統一了。

 

  差點忘了提一句,MVC 6中預設的渲染引擎Razor也將得到更新,以支援C# 6中的新語法。而Razor中的新特性還不只這一點。

  在某些情況下,直接在Web頁面中嵌入某些JSON資料的方式可能比向服務端發起一次額外請求的方法更合適。在之前的版本中,實現這一點需要編寫一些繁瑣的對映程式碼,然後用某種JSON轉換器對資料物件進行序列化,並將結果通過view model進行暴露。而在MVC 6中,以上所有的樣板程式碼都可以簡化為一句“@Json.Serialize(Model)”。

  在實現圖片快取時,同樣也會遇到大量樣板程式碼的問題。圖片的快取本身很簡單,但要找到某種方式通知瀏覽器讓快取失效,往往要用到許多繁瑣的臨時方案。而通過使用全新的Image Tag Helper,只需將asp-file-version這一屬性設定為true就可以了,MVC將“自動為圖片檔名附加上一個用於清除快取的版本號”。

  Tag Helper框架也得到了一定程度的改進,使用者現在可以“將Tag Helper中的服務端屬性與Dictionary的屬性進行繫結”。服務端屬性的存在與否,將使Tag Helper選擇性地生效。如果想要了解更多如何編寫自定義Tag Helper的內容,請參考Jeff Fritz的文章“開始使用ASP.NET MVC Tag Helper”。

  路由token能夠讓你在類級別編寫類似於“[Route("Products/[action]")”這樣的表示式,而在MVC 6中,可以在路由名稱中使用相同的token,這一點對於診斷過程來說很有幫助。

  英文原文:New Features for ASP.NET 5 and MVC 6

相關文章