最近發布的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特性的支持。為此,需在項目文件中需添加該如下屬性:<LangVersion>latest</LangVersion>。更改將在重新加載解決方案后生效。
規劃將應用部署到Azure的開發人員將會看到,ASP.NET Core 2構建的應用不需作任何更改,就可使用Azure App Service。應用的部署可以在VS2017中執行,也可直接在Azure門戶上執行。
標簽:
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn