首页 > 其他分享 >.NET6 Minimal API 集成Autofac

.NET6 Minimal API 集成Autofac

时间:2024-03-26 17:12:42浏览次数:33  
标签:Autofac builder args API NET6 public Minimal

前提

集成Autofac前需要先添加两个依赖包

可以通过 NuGet 进行安装,使用以下命令:

dotnet add package Autofac
dotnet add package Autofac.Extensions.DependencyInjection

集成Autofac

在不使用Minimal API之前我们集成 Autofac大概如下:

在Program.cs文件中

public static class Program
{
    public static void Main(string[] args)
        => CreateHostBuilder(args).Build().Run();

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .UseServiceProviderFactory(new AutofacServiceProviderFactory()) //变更默认容器
            .ConfigureWebHostDefaults(webBuilder <details>
            {
                webBuilder.UseStartup<Startup>();
            });
}

然后再Startup.cs文件中

public class Startup
{
    public void ConfigureContainer(ContainerBuilder containerBuilder)
    {
        // 注册服务关系
    }
}

但是在.NET6 中使用了Minimal API方式,对应的Startup.cs文件已经没有了,那么该如何处理呢?
其实同样没有区别
具体如下

var builder = WebApplication.CreateBuilder(args);

builder.Host.UseServiceProviderFactory(new AutofacServiceProviderFactory()); // 变更默认容器
builder.Host.ConfigureContainer<ContainerBuilder>(builder => 
{
     // 注册服务关系
});

参考链接

How-To: Minimal IoC solution using AutoFac — C#
Using Autofac in .NET 6 Minimal API’s
ASP.NET Core — Autofac 7.0.0 documentation

标签:Autofac,builder,args,API,NET6,public,Minimal
From: https://www.cnblogs.com/dyhuang/p/18090376

相关文章

  • ISBN信息查询api接口
     基本说明:接口地址:http://data.isbn.work/openApi/getInfoByIsbn?isbn={isbn}&appKey={appkey}返回格式:json请求方式:get请求示例:http://data.isbn.work/openApi/getInfoByIsbn?isbn=9787513159074&appKey=ae1718d4587744b0b79f940fbef69e77伽薇 809137232请求参数说明:名......
  • net6多环境发布
     项目右键-属性-调试-打开调试启动配置文件,添加运行的环境  运行这里就会出现我们填的信息  新建对应的发布环境文件 添加环境参数 <EnvironmentName>Production</EnvironmentName> 发布的时候就会发不成对应的环境 注意:在iis种会根据我们发布的环境进行运......
  • SpringBoot 快速实现 api 加密
    在项目中,为了保证数据的安全,我们常常会对传递的数据进行加密。常用的加密算法包括对称加密(AES)和非对称加密(RSA),博主选取码云上最简单的API加密项目进行下面的讲解。https://gitee.com/isuperag/rsa-encrypt-body-spring-boot项目介绍该项目使用RSA加密方式对API接口返回的......
  • .net webapi 后端服务收到时间差8小时
    前端使用:vue, 前端时间字段 用newDate赋值;后端:.net6.0,webApi服务 收到的时间字段差8 小时;前端打印,与本地时间一致;后端调试,传值错误;解决办法:定位:后端时区配置问题;后端需配置时区;1.nuget 包下载符合.net6.0 的Microsoft.AspNetCore.Mvc.NewtonsoftJson6.0.x版本;......
  • 几款有用的外汇API接口
    外汇行情API是一种用于获取外汇市场实时行情数据的工具。随着外汇交易市场的不断发展,越来越多的交易者开始依赖外汇行情API来获取市场信息,并进行高效、准确的交易。下面将对排名前10的外汇行情API进行评比,并分析它们的优点。OANDAOANDA是外汇市场上最大的经纪商之一,其提供的外汇......
  • Fastapi和requests文件的下载和上传
     介绍FastApi搭建一个简单下载和上传的服务,通过接口将文件保存在服务器上,而通过requests库子在本机中批量从服务器上传和下载文件FastApi搭建服务#application.py"""fastapi+request上传和下载功能"""fromfastapiimportFastAPI,UploadFilefromfastapi.respon......
  • 常用API:objects类 包装类
      包装类:        ......
  • Flink API的四层抽象级别是什么?能用实际项目案例讲解一下吗? Flink API的四层抽象级别
    FlinkAPI的四层抽象级别是什么?能用实际项目案例讲解一下吗?首先,FlinkAPI的四层抽象级别是指:最底层抽象:ProcessFunctionAPI、核心API:DataStreamAPI、TableAPI、SQL。这四个抽象级别可以比作烹饪中的不同方式,从简单的速食制作到复杂的大餐烹饪。1.最底层抽象:ProcessFunctionAP......
  • NAPI :创建头文件,调用so库中方法报错:undefined symbol: box_get_auth_count()
    报错信息使用的头文件#ifndefauthorization_H#defineauthorization_H...intbox_get_auth_count();...#endif//authorization_H错误原因找不到box_get_auth_count,建议使用extern"C"extern“C”申明下面的方法用C编译解决方法使用的头文件#ifn......
  • RSS Fever API 服务搭建避坑指南(FreshRSS + Fluent Reader, 2024年最新可用教程)
    1.适用人群需要通过RSS主动获取来自订阅源的信息,并且希望在多个设备上实现订阅源共享;拥有一台云服务器,并安装了Linux系统;能够访问谷歌。注意,这不是一篇非常详细的教程,对于教程中涉及的程序(如FreshRSS),官方和用户分别提供了充足的配置资料和经验分享,我会避免直接搬运它......