為什么你需要將代碼遷移到ASP.NET Core 2.0?

本文來自于:葡萄城控件技術(shù)團隊博客

隨著 .NET Core 2.0 的發(fā)布,.NET 開源跨平臺迎來了新的時代。開發(fā)者們可以選擇使用命令行、個人喜好的文本編輯器、Visual Studio 2017 15.3 和 Visual Studio Code 來開發(fā)自己的 .NET Core 2.0 項目。同時,微軟 .NET 開發(fā)工具組也宣布了 ASP.NET Core 2.0 的發(fā)布,并且此版本與 .NET Core 2.0、Visual Studio 2017 15.3 和新的 Razor Pages 頁面優(yōu)化范例兼容。相信目前技術(shù)社區(qū)中開發(fā)人員討論最多的問題就是:是否應(yīng)該將代碼遷移到 ASP.NET Core 2.0? ”

答案是肯定的。

下面就讓我們看看將代碼遷移到 ASP.NET Core 2.0 有哪些好處?

性能

性能提升是 ASP.NET Core 2.0 帶來的最顯著的改變。

隨著 ASP.NET Core 2.0 中新技術(shù)和語言增強的出現(xiàn),代碼在編譯時會自動進行優(yōu)化。

這項改變能夠帶來的好處就是,個人不再需要更改代碼。編譯器會在使用新的語言增強功能進行重新編譯時,對代碼進行優(yōu)化。

TechEmpower 發(fā)現(xiàn)在超過 230 個使用 Web 框架基準的框架中,ASP.NET Core 在性能上都取得了巨大的進步。

新的編碼范例

ASP.NET Core 新版本的發(fā)布,引入了一種新的編碼范例。新的編碼范例使得基于頁面的設(shè)計和編碼比 Model-View-Controller 結(jié)構(gòu)更加簡單和容易。使用 Razor Pages 作為第一頁的頁面結(jié)構(gòu),能夠讓開發(fā)人員更加專注于用戶界面。

如果你很熟悉為 MVC 配置 ASP.NET Core Startup 類,那么可以在 Startup 類中添加以下代碼:

publicclassStartup

{publicvoidConfigureServices(IServiceCollection services)

{//Includes support for Razor Pages and controllers.services.AddMvc();

}publicvoidConfigure(IApplicationBuilder app)

{

app.UseMvc();

}

}

Startup 類中的 AddMvc 和 UseMvc 會進行配置調(diào)用并激活“Razor Pages”功能。

通過新的 PageModel 對象能夠構(gòu)建更復(fù)雜的結(jié)構(gòu)。PageModel 是 MVVM 架構(gòu)的一個概念,允許開發(fā)人員執(zhí)行方法并將屬性綁定到正在呈現(xiàn)的頁面內(nèi)容中。

模板增強

ASP.NET Core 附帶的模板已被增強,不僅包括使用 MVC 模式構(gòu)建的 Web 應(yīng)用程序,還包括 Razor Pages Web 應(yīng)用程序模板,以及一系列能夠為瀏覽器構(gòu)建單頁應(yīng)用程序 (SPA)的模板。這些 SPA 模板使用 JavaScript 服務(wù)功能在服務(wù)器上將 NodeJS 嵌入到 ASP.NET Core 中,并將 JavaScript 服務(wù)器端的應(yīng)用程序作為.NET構(gòu)建過程的一部分進行編譯。

DbContext Pooling

許多 ASP.NET Core 應(yīng)用程序現(xiàn)在可以通過將其 DbContext 類型的服務(wù)注冊,配置為使用預(yù)先創(chuàng)建的實例池來獲得性能提升,從而能夠避免為每個請求創(chuàng)建新的實例。

將以下代碼添加到啟動/配置服務(wù),就能啟用 DbContext pooling。

services.AddDbContextPool < BloggingContext >(

options=>options.UseSqlServer(connectionString)

);

監(jiān)控和配置提升

ASP.NET Core 2.0 在 Azure App Service 上運行時,不但無需做任何修改并且還提供集成功能,同時還能獲取 Azure Application Insights 提供的性能分析、錯誤報告和診斷結(jié)果。在 Visual Studio 2017 中,右鍵單擊 project,然后選擇“Add – Application Insights Telemetry”,應(yīng)用程序就會開始收集數(shù)據(jù)。最后可以直接在 Visual Studio 2017 中查看應(yīng)用程序的性能,也包括所有日志消息。

Razor更新

Razor 引擎已經(jīng)更新,現(xiàn)在已經(jīng)可以使用新的 Roslyn 編譯器,包括支持 C#7.1 功能,如默認表達式,推斷元組名稱和泛型模式匹配。要在項目中使用 C#7.1 功能,需要在項目文件中添加以下屬性,然后重新加載解決方案:

<LangVersion>latest</LangVersion>

簡化主機配置

主機配置得到了大大簡化。默認的 ASP.NET Core 模板中包含了一個新的 WebHost.CreateDefaultBuilder,它會自動分配一個 Kestrel 服務(wù)器。如果 Kestrel 服務(wù)器可用,那它就會在 IIS 上運行,并且配置標準的控制臺日志記錄。Program.cs 文件已經(jīng)簡化為以下內(nèi)容:

publicclassProgram

{publicstaticvoidMain(string[] args)

{

BuildWebHost(args).Run();

}publicstaticIWebHost BuildWebHost(string[] args) =>WebHost.CreateDefaultBuilder(args)

.UseStartup()

.Build();

}

總結(jié)

ASP.NET Core 2.0 不但帶來了巨大的性能提升,而且該版本的更新還提供了編寫應(yīng)用程序的新方法,同時簡化了管理應(yīng)用程序的操作過程。這些都構(gòu)成了大家將代碼遷移到 ASP.NET Core 2.0 的理由。

參考文章:

https://dzone.com/articles/4-benefits-of-migrating-to-aspnet-core-20

https://blogs.msdn.microsoft.com/webdev/2017/08/14/announcing-asp-net-core-2-0/

轉(zhuǎn)載請注明出自:葡萄城控件

關(guān)于葡萄城

葡萄城成立于1980年,是全球最大的控件提供商,世界領(lǐng)先的企業(yè)應(yīng)用定制工具、企業(yè)報表和商業(yè)智能解決方案提供商,為超過75%的全球財富500強企業(yè)提供服務(wù)。葡萄城于1988年在中國設(shè)立研發(fā)中心,在全球化產(chǎn)品的研發(fā)過程中,不斷適應(yīng)中國市場的本地需求,并為軟件企業(yè)和各行業(yè)的信息化提供優(yōu)秀的軟件工具和咨詢服務(wù)。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,461評論 6 532
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 98,538評論 3 417
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,423評論 0 375
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經(jīng)常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 62,991評論 1 312
  • 正文 為了忘掉前任,我火速辦了婚禮,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,761評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 55,207評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,268評論 3 441
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 42,419評論 0 288
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 48,959評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 40,782評論 3 354
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了。 大學(xué)時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 42,983評論 1 369
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,528評論 5 359
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 44,222評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,653評論 0 26
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,901評論 1 286
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,678評論 3 392
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 47,978評論 2 374

推薦閱讀更多精彩內(nèi)容