最近發布的ASP.NET Core 2.0,連同新發布的.NET Core 2和Entity Framework Core 2.0y,一并構成了.NET Core 2.0生態中的三元組。此發布給出了多個新特性和改進,其中包括通用性能的改進、Razor頁面、新的開發模板以及更好的Azure Diagnostics支持。
讓我們首先看一下Razor頁面。Razor頁面類似于標準的MVC視圖,只是通過使用@Page指令標明自身為Razor頁面。Microsoft現在考慮將Razor頁面作為ASP.NET Core中構建Web應用UI的推薦方法,當然開發人員也可自由地選擇最適合自己的方法。使用Razor頁面編寫的Web頁面,無需經過控制器即可直接處理請求,正如在標準的ASP.NET MVC應用中那樣。
轉向ASP.NET Core 2平臺的另一個好處是簡化了對軟件包的引用。在項目的.csproj文件中,僅需引用Microsoft.AspNetCore.All。這是一個Meta-package,它在簡化了引用問題的同時,確保應用所需的所有庫是可用的。而在發布Web應用時,只有應用所需的庫才會與應用一并發布,避免了文件膨脹。另一個優點是Meta-package可使應用的啟動速度更快,這是因為它使用了.NET Core Runtime Store,其中預編譯了所有的軟件包和文件。雖然這一Meta-package提供了一種便利的軟件包引用方式,但是開發人員依然可以繼續在Microsoft.AspNetCore.*中直接引用特定的軟件包。
為了支持新的特性,ASP.NET Core 2擴充一些模板,它們來自于Razore頁面(模板命名為“Web Application”)、Web API、基于MVC的Web應用、Angular、React.js和React.js& Redux等。所有這些模板也可以通過命令行使用,不必依賴于Visual Studio 2017。
在明確聲明的情況下,Razor語言引擎提供對C# 7.1特性的支持。為此,需在項目文件中需添加該如下屬性:
規劃將應用部署到Azure的開發人員將會看到,ASP.NET Core 2構建的應用不需作任何更改,就可使用Azure App Service。應用的部署可以在VS2017中執行,也可直接在Azure門戶上執行。
使用已有ASP.NET Core 1.X軟件包的開發人員,要詳細了解如何升級應用到ASP.NET Core 2.0,可以參考Microsoft的升級指南。使用ASP.NET 2.0需下載.NET Core 2 SDK,它是獨立于VS2017提供的。
查看英文原文: ASP.NET Core 2 Gains Razor Pages