一步一步迁移ASP.NET Core 6.0-Part2
.NET 6 发布后,我们现有的应用会逐步升级到这个版本,首当其冲的是原因的ASP.NET Core的工程,如果一步一步升级到ASP.NET Core 6.0。
上一篇博文中,跟大家详细介绍了中间件、添加终结点路由、内容根、应用名称和环境、添加配置提供程序、添加日志记录提供程序、DI依赖注入管理添加、注册服务这几块升级中的一些常用代码实现。
本文我们继续其他的一些升级ASP.NET Core 6.0的一些常用代码示例。
一、通用主机Host构造器
ASP.NET 5 中使用Host类自定义IHostBuilder的实现代码:
升级ASP.NET Core 6.0后的代码实现:
在ASP.NET Core 6.0中通过WebApplication这个类可以直接创建一个IHostBuilder的实现Microsoft.AspNetCore.Builder.WebApplicationBuilder,基于这个类设置Host启动的一些属性:
如下代码:
关于WebApplication的解释,大家可以参考以下链接:
二、Web主机Host构造器
ASP.NET 5 中使用Host类自定义IHostBuilder的实现代码:
升级ASP.NET Core 6.0后的代码实现:
在ASP.NET Core 6.0中通过WebApplication这个类可以直接创建一个IHostBuilder的实现Microsoft.AspNetCore.Builder.WebApplicationBuilder,基于这个类设置WebHost启动需要的一些属性:
如下代码:
三、更改Web根
默认情况下,Web 根是相对于 wwwroot 文件夹中的内容根。 Web 根是静态文件中间件查找静态文件的位置。
通过设置 WebApplicationOptions 上的 WebRootPath 属性,可以更改 Web 根:
以下是ASP.NET Core 5.0 中对Web根的使用:
升级ASP.NET Core 6.0后的代码实现:
直接设置WebApplicationOptions的WebRootPath即可:
四、自定义依赖注入 (DI) 容器
我们以Autofac 依赖注入框架为例,给大家示例ASP.NET Core5.0的实现和ASP.NET Core6.0的实现
ASP.NET Core 5.0使用Autofac作为DI依赖注入容器的代码实现:
ASP.NET Core 6.0使用Autofac作为DI依赖注入容器的代码实现:
五、添加服务、使用服务
Startup.Configure 可以注入通过 IServiceCollection 添加的任何服务。
ASP.NET Core 5.0的代码实现:
在 ASP.NET Core 6 中:有一些通用服务可用作 WebApplication 上的顶级属性。
其他服务需要通过 IServiceProvider 从 IServiceProvider 手动解析
以上是升级ASP.NET Core 6.0的一些常用代码示例和实践,分享给大家。
周国庆
2022/3/22
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?