为什么你需要将代码迁移到ASP.NET Core 2.0?
隨著 .NET Core 2.0 的發布,.NET 開源跨平臺迎來了新的時代。開發者們可以選擇使用命令行、個人喜好的文本編輯器、Visual Studio 2017 15.3 和 Visual Studio Code 來開發自己的 .NET Core 2.0 項目。同時,微軟 .NET 開發工具組也宣布了 ASP.NET Core 2.0 的發布,并且此版本與 .NET Core 2.0、Visual Studio 2017 15.3 和新的 Razor Pages 頁面優化范例兼容。相信目前技術社區中開發人員討論最多的問題就是:是否應該將代碼遷移到 ASP.NET Core 2.0? ”
答案是肯定的。
下面就讓我們看看將代碼遷移到 ASP.NET Core 2.0 有哪些好處?
性能
性能提升是 ASP.NET Core 2.0 帶來的最顯著的改變。
隨著 ASP.NET Core 2.0 中新技術和語言增強的出現,代碼在編譯時會自動進行優化。
這項改變能夠帶來的好處就是,個人不再需要更改代碼。編譯器會在使用新的語言增強功能進行重新編譯時,對代碼進行優化。
TechEmpower 發現在超過 230 個使用 Web 框架基準的框架中,ASP.NET Core 在性能上都取得了巨大的進步。
新的編碼范例
ASP.NET Core 新版本的發布,引入了一種新的編碼范例。新的編碼范例使得基于頁面的設計和編碼比 Model-View-Controller 結構更加簡單和容易。使用 Razor Pages 作為第一頁的頁面結構,能夠讓開發人員更加專注于用戶界面。
如果你很熟悉為 MVC 配置 ASP.NET Core Startup 類,那么可以在 Startup 類中添加以下代碼:
public class Startup { ?? ?public void ConfigureServices(IServiceCollection services){ ? ? ? ?// Includes support for Razor Pages and controllers. ? ? ? ?services.AddMvc();} ?
? ?public void Configure(IApplicationBuilder app){app.UseMvc();} }
Startup 類中的 AddMvc 和 UseMvc 會進行配置調用并激活“Razor Pages”功能。
通過新的 PageModel 對象能夠構建更復雜的結構。PageModel 是 MVVM 架構的一個概念,允許開發人員執行方法并將屬性綁定到正在呈現的頁面內容中。
?
模板增強
ASP.NET Core 附帶的模板已被增強,不僅包括使用 MVC 模式構建的 Web 應用程序,還包括 Razor Pages Web 應用程序模板,以及一系列能夠為瀏覽器構建單頁應用程序 (SPA)的模板。這些 SPA 模板使用 JavaScript 服務功能在服務器上將 NodeJS 嵌入到 ASP.NET Core 中,并將 JavaScript 服務器端的應用程序作為.NET構建過程的一部分進行編譯。
?
DbContext Pooling
許多 ASP.NET Core 應用程序現在可以通過將其 DbContext 類型的服務注冊,配置為使用預先創建的實例池來獲得性能提升,從而能夠避免為每個請求創建新的實例。
將以下代碼添加到啟動/配置服務,就能啟用 DbContext pooling。
services.AddDbContextPool < BloggingContext >(options => options.UseSqlServer(connectionString) );?
監控和配置提升
ASP.NET Core 2.0 在 Azure App Service 上運行時,不但無需做任何修改并且還提供集成功能,同時還能獲取 Azure Application Insights 提供的性能分析、錯誤報告和診斷結果。在 Visual Studio 2017 中,右鍵單擊 project,然后選擇“Add – Application Insights Telemetry”,應用程序就會開始收集數據。最后可以直接在 Visual Studio 2017 中查看應用程序的性能,也包括所有日志消息。
?
Razor更新
Razor 引擎已經更新,現在已經可以使用新的 Roslyn 編譯器,包括支持 C#7.1 功能,如默認表達式,推斷元組名稱和泛型模式匹配。要在項目中使用 C#7.1 功能,需要在項目文件中添加以下屬性,然后重新加載解決方案:
<LangVersion>latest</LangVersion>?
簡化主機配置
主機配置得到了大大簡化。默認的 ASP.NET Core 模板中包含了一個新的 WebHost.CreateDefaultBuilder,它會自動分配一個 Kestrel 服務器。如果 Kestrel 服務器可用,那它就會在 IIS 上運行,并且配置標準的控制臺日志記錄。Program.cs 文件已經簡化為以下內容:
public class Program { ???public static void Main(string[] args){BuildWebHost(args).Run();} ? ?public static IWebHost BuildWebHost(string[] args) =>WebHost.CreateDefaultBuilder(args).UseStartup<Startup>().Build(); }
總結
ASP.NET Core 2.0 不但帶來了巨大的性能提升,而且該版本的更新還提供了編寫應用程序的新方法,同時簡化了管理應用程序的操作過程。這些都構成了大家將代碼遷移到 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/
原文地址:http://www.cnblogs.com/powertoolsteam/p/migrating-to-aspnet-core-20.html
.NET社區新聞,深度好文,微信中搜索dotNET跨平臺或掃描二維碼關注
總結
以上是生活随笔為你收集整理的为什么你需要将代码迁移到ASP.NET Core 2.0?的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 基于Office 365的随需应变业务应
- 下一篇: ASP.NET Core中如何调整HTT