为什么你需要将代码迁移到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 功能,需要在项目文件中添加以下属性,然后重新加载解决方案:

latest

简化主机配置

主机配置得到了大大简化。默认的 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()
           .Build();
}

总结

ASP.NET Core 2.0 不但带来了巨大的性能提升,而且该版本的更新还提供了编写应用程序的新方法,同时简化了管理应用程序的操作过程。这些都构成了大家将代码迁移到 ASP.NET Core 2.0 的理由。

本文转自ITPUB博客77rou的博客,原文链接:为什么你需要将代码迁移到ASP.NET Core 2.0? ,如需转载请自行联系原博主。

相关文章
|
1月前
|
存储 开发框架 JSON
ASP.NET Core OData 9 正式发布
【10月更文挑战第8天】Microsoft 在 2024 年 8 月 30 日宣布推出 ASP.NET Core OData 9,此版本与 .NET 8 的 OData 库保持一致,改进了数据编码以符合 OData 规范,并放弃了对旧版 .NET Framework 的支持,仅支持 .NET 8 及更高版本。新版本引入了更快的 JSON 编写器 `System.Text.UTF8JsonWriter`,优化了内存使用和序列化速度。
|
1月前
mcr.microsoft.com/dotnet/core/aspnet:2.1安装libgdiplus
mcr.microsoft.com/dotnet/core/aspnet:2.1安装libgdiplus
29 1
|
2月前
|
开发框架 监控 前端开发
在 ASP.NET Core Web API 中使用操作筛选器统一处理通用操作
【9月更文挑战第27天】操作筛选器是ASP.NET Core MVC和Web API中的一种过滤器,可在操作方法执行前后运行代码,适用于日志记录、性能监控和验证等场景。通过实现`IActionFilter`接口的`OnActionExecuting`和`OnActionExecuted`方法,可以统一处理日志、验证及异常。创建并注册自定义筛选器类,能提升代码的可维护性和复用性。
|
2月前
|
开发框架 .NET 中间件
ASP.NET Core Web 开发浅谈
本文介绍ASP.NET Core,一个轻量级、开源的跨平台框架,专为构建高性能Web应用设计。通过简单步骤,你将学会创建首个Web应用。文章还深入探讨了路由配置、依赖注入及安全性配置等常见问题,并提供了实用示例代码以助于理解与避免错误,帮助开发者更好地掌握ASP.NET Core的核心概念。
87 3
|
24天前
|
开发框架 JavaScript 前端开发
一个适用于 ASP.NET Core 的轻量级插件框架
一个适用于 ASP.NET Core 的轻量级插件框架
|
开发框架 前端开发 .NET
ASP.NET Core 核心特性学习笔记「下」
ASP.NET Core 核心特性学习笔记「下」
|
开发框架 前端开发 中间件
ASP.NET Core 核心特性学习笔记「上」
ASP.NET Core 核心特性学习笔记「上」
|
SQL 机器学习/深度学习 Cloud Native
.NET 云原生架构师训练营(模块二 基础巩固 EF Core 更新和迁移)--学习笔记
- 状态 - 自动变更检测 - 不查询删除和更新 - 并发
250 0
.NET 云原生架构师训练营(模块二 基础巩固 EF Core 更新和迁移)--学习笔记
|
SQL Cloud Native 架构师
.NET 云原生架构师训练营(模块二 基础巩固 EF Core 查询)--学习笔记
- 关联数据加载 - 客户端与服务端运算 - 跟踪与不跟踪 - 复杂查询运算 - 原生 SQL 查询 - 全局查询筛选器
241 0
.NET 云原生架构师训练营(模块二 基础巩固 EF Core 查询)--学习笔记
|
Cloud Native 架构师