最近發(fā)布的ASP.NET Core 2.0,連同新發(fā)布的.NET Core 2和Entity Framework Core 2.0y,一并構(gòu)成了.NET Core 2.0生態(tài)中的三元組。此發(fā)布給出了多個(gè)新特性和改進(jìn),其中包括通用性能的改進(jìn)、Razor頁(yè)面、新的開發(fā)模板以及更好的Azure Diagnostics支持。
讓我們首先看一下Razor頁(yè)面。Razor頁(yè)面類似于標(biāo)準(zhǔn)的MVC視圖,只是通過(guò)使用@Page指令標(biāo)明自身為Razor頁(yè)面。Microsoft現(xiàn)在考慮將Razor頁(yè)面作為ASP.NET Core中構(gòu)建Web應(yīng)用UI的推薦方法,當(dāng)然開發(fā)人員也可自由地選擇最適合自己的方法。使用Razor頁(yè)面編寫的Web頁(yè)面,無(wú)需經(jīng)過(guò)控制器即可直接處理請(qǐng)求,正如在標(biāo)準(zhǔn)的ASP.NET MVC應(yīng)用中那樣。
轉(zhuǎn)向ASP.NET Core 2平臺(tái)的另一個(gè)好處是簡(jiǎn)化了對(duì)軟件包的引用。在項(xiàng)目的.csproj文件中,僅需引用Microsoft.AspNetCore.All。這是一個(gè)Meta-package,它在簡(jiǎn)化了引用問題的同時(shí),確保應(yīng)用所需的所有庫(kù)是可用的。而在發(fā)布Web應(yīng)用時(shí),只有應(yīng)用所需的庫(kù)才會(huì)與應(yīng)用一并發(fā)布,避免了文件膨脹。另一個(gè)優(yōu)點(diǎn)是Meta-package可使應(yīng)用的啟動(dòng)速度更快,這是因?yàn)樗褂昧?NET Core Runtime Store,其中預(yù)編譯了所有的軟件包和文件。雖然這一Meta-package提供了一種便利的軟件包引用方式,但是開發(fā)人員依然可以繼續(xù)在Microsoft.AspNetCore.*中直接引用特定的軟件包。
為了支持新的特性,ASP.NET Core 2擴(kuò)充一些模板,它們來(lái)自于Razore頁(yè)面(模板命名為“Web Application”)、Web API、基于MVC的Web應(yīng)用、Angular、React.js和React.js& Redux等。所有這些模板也可以通過(guò)命令行使用,不必依賴于Visual Studio 2017。
在明確聲明的情況下,Razor語(yǔ)言引擎提供對(duì)C# 7.1特性的支持。為此,需在項(xiàng)目文件中需添加該如下屬性:<LangVersion>latest</LangVersion>。更改將在重新加載解決方案后生效。
規(guī)劃將應(yīng)用部署到Azure的開發(fā)人員將會(huì)看到,ASP.NET Core 2構(gòu)建的應(yīng)用不需作任何更改,就可使用Azure App Service。應(yīng)用的部署可以在VS2017中執(zhí)行,也可直接在Azure門戶上執(zhí)行。
使用已有ASP.NET Core 1.X軟件包的開發(fā)人員,要詳細(xì)了解如何升級(jí)應(yīng)用到ASP.NET Core 2.0,可以參考Microsoft的升級(jí)指南。使用ASP.NET 2.0需.NET Core 2 SDK,它是獨(dú)立于visual studio 2017提供的。
標(biāo)簽:
本站文章除注明轉(zhuǎn)載外,均為本站原創(chuàng)或翻譯。歡迎任何形式的轉(zhuǎn)載,但請(qǐng)務(wù)必注明出處、不得修改原文相關(guān)鏈接,如果存在內(nèi)容上的異議請(qǐng)郵件反饋至chenjj@fc6vip.cn