
在 2018 年五月份发布,ASP.NET Core 2.1带来了许多新的功能和改进。这些新特性使得 ASP.NET Core 更加强大和易于使用,使开发人员能够更高效地构建高性能的 Web 应用程序。
本篇博文将介绍如何将现有的 ASP.NET Core 2.0 项目升级到 ASP.NET Core 2.1。我们将重点介绍新的功能,并探讨升级过程中可能遇到的问题以及相应的解决方案。
1. 升级过程
1.1 更新项目文件
首先,我们需要手动更新项目文件中的 SDK 版本。打开项目文件(.csproj)并将以下内容添加到 <PropertyGroup> 元素中:
<TargetFramework>netcoreapp2.1</TargetFramework>
然后,更新所有 NuGet 包的版本以匹配 ASP.NET Core 2.1 的要求。如果你使用 Visual Studio,可以通过右键单击项目并选择“Manage NuGet Packages”来更新包。
1.2 更新代码
在升级到 ASP.NET Core 2.1 后,一些 API 和类名可能发生了变化,因此你需要手动更新代码以适应新的 API。以下是一些你可能需要关注的常见变化:
Microsoft.AspNetCore.Mvc命名空间已经从Microsoft.AspNetCore.Mvc.Core迁移到了Microsoft.AspNetCore.Mvc。你需要更新所有相关的using声明。- 在 ASP.NET Core 2.1 中,
IHostingEnvironment接口已被废弃,取而代之的是IHostingEnvironment。你需要更新使用了IHostingEnvironment的代码,以及相应的依赖项。 app.UseExceptionHandler()方法的签名已经改变,新的签名为app.UseExceptionHandler("/Home/Error")。确保在合适的位置更新此方法的调用。
这只是一些常见的示例,具体的代码更改取决于你的项目和使用的功能。请参考官方文档以获取更多详细的升级指南。
2. 新功能和改进
2.1 Razor 类库
ASP.NET Core 2.1 引入了 Razor 类库的概念,以便在多个项目之间共享 Razor 视图和页面。你可以将 Razor 页面和视图组织到一个或多个类库中,并将其引用到其他项目中。
这对于大型项目和团队来说尤为有用,可以实现视图和页面的公用和重用,提高开发效率。
2.2 后台任务
在 ASP.NET Core 2.1 中,后台任务的处理方式有了显著的改进。你现在可以使用 IHostedService 接口来定义一个后台任务,并通过 DI 将其注入到你的应用程序中。
在之前的版本中,你可能需要使用第三方库或手动编写代码来处理后台任务。而在 ASP.NET Core 2.1 中,你可以直接使用内置的 IHostedService,使得处理后台任务变得更加简单和一致。
2.3 SignalR
SignalR 是一个用于实时 Web 应用程序的库。在 ASP.NET Core 2.1 中,SignalR 经历了重大改进,以提供更好的性能和易用性。
新的 SignalR 支持将连接集成到 WebSockets、Server-Sent Events 和轮询之间进行自动选择。这意味着你无需手动选择传输方式,SignalR 将自动选择最合适的传输方式来保持连接。
此外,新的 SignalR 还引入了一个名为“Hub Filters”的特性,可让你在处理每个请求之前和之后对连接和消息进行拦截和处理。
2.4 性能和稳定性改进
ASP.NET Core 2.1 还带来了一系列性能和稳定性改进,以提高应用程序的性能和可靠性。
- 在 Kestrel 中,添加了一个名为
ListenOptions.UseConnectionLogging()的新方法,可用于记录传入和传出的连接信息,有助于故障排除和监控。 - 启用压缩(Gzip、Brotli)的性能得以改进,进一步提高了应用程序的加载速度和带宽利用率。
- 更新了内置的 Identity 和 IdentityServer4,使其更易于使用和配置。
- 一些请求处理器(如 MVC 和 SignalR)的性能得到了显著的提升。
以上只是 ASP.NET Core 2.1 引入的一些新功能和改进。请参考官方文档以了解更多相关信息。
3. 总结
ASP.NET Core 2.1 带来了许多令人兴奋的新特性和改进。通过升级现有的 ASP.NET Core 2.0 项目到 2.1,你可以获得更好的性能、更高效的开发体验以及更强大的功能集。
在升级过程中,确保更新项目文件、更新 NuGet 包,并手动处理 API 和类名的变化。同时,也要注意处理可能遇到的其他问题。
升级到 ASP.NET Core 2.1 不仅可以使项目保持最新和支持最新的功能,还可以帮助你的应用程序变得更加强大和可靠。
希望本文对你了解 ASP.NET Core 2.1 的升级过程和新功能有所帮助。请随时提问或分享你的经验。
本文来自极简博客,作者:碧海潮生,转载请注明原文链接:ASP.NET Core 2.1 升级现有 Core 2.0 项目到 2.1
微信扫一扫,打赏作者吧~