• 一步一步迁移ASP.NET Core 6.0Part2


    .NET 6 发布后,我们现有的应用会逐步升级到这个版本,首当其冲的是原因的ASP.NET Core的工程,如果一步一步升级到ASP.NET Core 6.0。

    上一篇博文中,跟大家详细介绍了中间件、添加终结点路由、内容根、应用名称和环境、添加配置提供程序、添加日志记录提供程序、DI依赖注入管理添加、注册服务这几块升级中的一些常用代码实现。

     一步一步迁移ASP.NET Core 6.0-Part1

    本文我们继续其他的一些升级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的解释,大家可以参考以下链接:

    WebApplication 类 https://docs.microsoft.com/zh-CN/dotnet/api/microsoft.aspnetcore.builder.webapplication?view=aspnetcore-6.0

    二、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依赖注入容器的代码实现: 

    builder.Host.UseServiceProviderFactory(new AutofacServiceProviderFactory());
    builder.Host.ConfigureContainer<ContainerBuilder>(builder => builder.RegisterModule(new MyApplicationModule()));

    五、添加服务、使用服务

          Startup.Configure 可以注入通过 IServiceCollection 添加的任何服务。

          ASP.NET Core 5.0的代码实现: 

    在 ASP.NET Core 6 中:有一些通用服务可用作 WebApplication 上的顶级属性。

    其他服务需要通过 IServiceProvider 从 IServiceProvider 手动解析

    以上是升级ASP.NET Core 6.0的一些常用代码示例和实践,分享给大家。

    周国庆

    2022/3/22 

  • 相关阅读:
    Line of Sight 计算几何基础
    Hash算法详解
    高效mysql的习惯(程序员版本)
    thymeleaf初步使用
    @Transactional注解事务不起作用
    泛型的理解
    Git&GitHun 命令合集
    springboot引入thymeleaf
    springboot静态资源映射
    springboot的配置文件
  • 原文地址:https://www.cnblogs.com/tianqing/p/16027269.html
Copyright © 2020-2023  润新知