一步一步迁移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
一步一步迁移ASP.NET Core 6.0-Part2的更多相关文章
- 一步一步迁移ASP.NET Core 6.0-Part1
.NET 6 发布后,我们现有的应用会逐步升级到这个版本,首当其冲的是原因的ASP.NET Core的工程,如果一步一步升级到ASP.NET Core 6.0 本文简单整理一下升级ASP.NET Co ...
- [亲测]七步学会ASP.NET Core 2.0怎么发布/部署到Ubuntu Linux服务器并配置Nginx反向代理实现域名访问
前言 ASP.NET Core 2.0 怎么发布到Ubuntu服务器?又如何在服务器上配置使用ASP.NET Core网站绑定到指定的域名,让外网用户可以访问呢? 步骤 第1步:准备工作 一台Liun ...
- ASP.NET Core 3.0 迁移避坑指南
一.前言 .NET Core 3.0将会在 .NET Conf 大会上正式发布,截止今日发布了9个预览版,改动也是不少,由于没有持续关注,今天将前面开源的动态WebApi项目迁移到.NET Core ...
- 一起学ASP.NET Core 2.0学习笔记(二): ef core2.0 及mysql provider 、Fluent API相关配置及迁移
不得不说微软的技术迭代还是很快的,上了微软的船就得跟着她走下去,前文一起学ASP.NET Core 2.0学习笔记(一): CentOS下 .net core2 sdk nginx.superviso ...
- 为什么你需要将代码迁移到ASP.NET Core 2.0?
随着 .NET Core 2.0 的发布,.NET 开源跨平台迎来了新的时代.开发者们可以选择使用命令行.个人喜好的文本编辑器.Visual Studio 2017 15.3 和 Visual Stu ...
- ASP.NET Core 3.0 WebApi 系列【2】.Net Core 3.0+ CodeFirst + MySql 实现数据的迁移
写在前面 在前一小节中,我们创建了基于RESFULL风格的服务.这个小节,尝试使用CodeFirst+MySql 的方式实现数据迁移. 一.开发环境 [1]运行环境:win10 家庭版 [2]开发工具 ...
- ASP.NET Core 1.0 静态文件、路由、自定义中间件、身份验证简介
概述 ASP.NET Core 1.0是ASP.NET的一个重要的重新设计. 例如,在ASP.NET Core中,使用Middleware编写请求管道. ASP.NET Core中间件对HttpCon ...
- 跨平台运行ASP.NET Core 1.0
前言 首先提一下微软更名后的叫法: ASP.NET 5 更名为 ASP.NET Core 1.0 .NET Core 更名为 .NET Core 1.0 Entity Framework 7 更名为 ...
- 在 Mac OS 上创建并运行 ASP.NET Core 1.0 网站
var appInsights=window.appInsights||function(config){ function r(config){t[config]=function(){var i= ...
随机推荐
- NSTimer、CADisplayLink、GCD 三种定时器的用法 —— 昉
在软件开发过程中,我们常常需要在某个时间后执行某个方法,或者是按照某个周期一直执行某个方法.在这个时候,我们就需要用到定时器. 在iOS中有很多方法完成定时器的任务,例如 NSTimer.CADisp ...
- Msi.h causes compilation error in vs2010
创建一个Win32 Console工程ReadFromMSM,什么都不需要做. 在ReadFromMSM.cpp文件中引入头文件: #include <msi.h> 编译,会发现有成堆的错 ...
- tomcat实现多虚拟主机
一.安装tomcat 请查看:二进制安装tomat 二.配置虚拟主机 2.1 修改server.xml # vim /usr/local/tomcat/conf/server.xml ...省略 #在 ...
- Postman接口测试脚本编写规范
Postman接口测试脚本编写规范 1.前言 2.名词解释 3.接口测试脚本规范 3.1接口测试脚本编写的规范 3.2 Postman使用规范 4.单个接口测试 5.整个流程的开发过程 1.前言 本规 ...
- 矩阵QR分解
1 orthonormal 向量与 Orthogonal 矩阵 orthonormal 向量定义为 ,任意向量 相互垂直,且模长为1: 如果将 orthonormal 向量按列组织成矩阵,矩阵为 ...
- Vue中组件通信的几种方法(Vue3的7种和Vue2的12种组件通信)
Vue3组件通信方式: props $emit expose / ref $attrs v-model provide / inject Vuex 使用方法: props 用 props 传数据给子组 ...
- Java在算法题中的输入问题
Java在算法题中的输入问题 在写算法题的时候,经常因为数据的输入问题而导致卡壳,其中最常见的就是数据输入无法结束. 1.给定范围,确定输入几个数据 直接使用普通的Scanner输入数据范围,然后使用 ...
- Java并发基础之Compare And Swap/Set(CAS)
什么是 CAS?CAS(Compare And Swap/Set)比较并交换, CAS 算法的过程是这样:它包含 3 个参数CAS(V,E,N). V 表示待更新的变量(内存值), E 表示预期值(旧 ...
- [源码解析] NVIDIA HugeCTR,GPU版本参数服务器--- (5) 嵌入式hash表
[源码解析] NVIDIA HugeCTR,GPU版本参数服务器--- (5) 嵌入式hash表 目录 [源码解析] NVIDIA HugeCTR,GPU版本参数服务器--- (5) 嵌入式hash表 ...
- VMware vSphere,ESXi和vCenter的关系和区别
VMware Inc.是一家软件公司.它开发了很多产品,尤其是各种云解决方案 .他的云解决方案包括云产品,数据中心产品和桌面产品等. vSphere是在数据中心产品下的一套软件.vSphere类似微软 ...