前提

集成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

.NET6 Minimal API 集成Autofac的更多相关文章

  1. 简单聊下.NET6 Minimal API的使用方式

    前言 随着.Net6的发布,微软也改进了对之前ASP.NET Core构建方式,使用了新的Minimal API模式.之前默认的方式是需要在Startup中注册IOC和中间件相关,但是在Minimal ...

  2. 【.NET6】gRPC服务端和客户端开发案例,以及minimal API服务、gRPC服务和传统webapi服务的访问效率大对决

    前言:随着.Net6的发布,Minimal API成了当下受人追捧的角儿.而这之前,程序之间通信效率的王者也许可以算得上是gRPC了.那么以下咱们先通过开发一个gRPC服务的教程,然后顺势而为,再接着 ...

  3. .Net Minimal Api 介绍

    Minimal API是.Net 6中新增的模板,借助C# 10的一些特性以最少的代码运行一个Web服务.本文脱离VS通过VS Code,完成一个简单的Minimal Api项目的开发. 创建项目 随 ...

  4. 【.NET 6】使用.NET 6开发minimal api以及依赖注入的实现、VS2022热重载和自动反编译功能的演示

    前言: .net 6 LTS版本发布已经有若干天了.此处做一个关于使用.net 6 开发精简版webapi(minimal api)的入门教程,以及VS2022 上面的两个强大的新技能(热重载.代码自 ...

  5. Net6 Core Api(.net6)发布到IIS注意事项及显示HTTP 错误500.19解决方法

    Net6 Core Api发布到IIS不同于webapi,依赖框架不同,配置也移至项目内Program.cs 一.发布到指定文件夹,和IIS,不过注意IIS应用程序池选择的是 "无托管代码& ...

  6. SimpleInjector与MVC4集成,与Web Api集成,以及通过属性注入演示

    SimpleInjector与MVC4集成,与Web Api集成,以及通过属性注入演示   1,与MVC集成 见http://simpleinjector.codeplex.com/wikipage? ...

  7. .NET手记-为ASP.NET MVC程序集成Autofac

    MVC Autofac总是会紧跟最新版本的ASP.NET MVC框架,所以文档也会一直保持更新.一般来讲,不同版本的框架集成Autofac的方法一般不变. MVC集成需要引用 Autofac.Mvc5 ...

  8. ASP.NET Core 6 Minimal API的模拟实现

    Minimal API仅仅是在基于IHost/IHostBuilder的服务承载系统上作了小小的封装而已,它利用WebApplication和WebApplicationBuilder这两个类型提供了 ...

  9. Spring Data REST API集成Springfox、Swagger

    原文: Documenting a Spring Data REST API with Springfox and Swagger 使用Spring Date REST,你可以迅速为Spring Da ...

  10. integration asp.net web api with autofac and owin

    There is an example project showing Web API in conjunction with OWIN self hosting https://github.com ...

随机推荐

  1. #二分图匹配#洛谷 5771 [JSOI2016]反质数序列

    题目 给出 \(n\) 个正整数,问最大的子集使得任意两个数的和都不是质数 \(n\leq 3*10^3\) 分析 如果把两个数的和为质数连边,等价于求最大独立集. 由于只有偶数加奇数才可能产生质数( ...

  2. .NET 8使用日志功能以及自定义日志提供程序

    .NET 8使用日志功能以及自定义日志提供程序 日志级别 下表列出了 LogLevel 值.方便的 Log{LogLevel} 扩展方法以及建议的用法: 展开表 LogLevel "值&qu ...

  3. OpenHarmony社区运营报告(2023年12月)

      • 截至2023年12月22日,OpenAtom OpenHarmony(简称"OpenHarmony")社区累计超过6700名贡献者,产生26.9万多个PR,2.4万多个St ...

  4. Git 版本控制系统的完整指南

    什么是 Git? Git 是一个流行的版本控制系统.它是由 Linus Torvalds 于 2005 年创建的,自那时以来由 Junio Hamano 维护. 它用于: 跟踪代码更改 跟踪谁做出了更 ...

  5. springboot整合redis之发送手机验证码

    阿里云服务发送手机短信验证码-----(第二篇) 文章概述:springboot整合redis之发送手机验证码注册登录 注:搭建springboot项目可以参考这篇文章: 前言:短信验证码是通过发送验 ...

  6. C#中超链接方法

    linkLabel控件:双击事件打开网页:System.Diagnostics.Process.Start("http://www.baidu.com"); 截图:

  7. formdata 的前世今生

    前言 为什么会产生formdata这东西呢? 看下简介: FormData 接口提供了一种表示表单数据的键值对的构造方式,经过它的数据可以使用 XMLHttpRequest.send() 方法送出,本 ...

  8. Django框架——ajax补充、多对多三种创建、序列化组件、批量操作数据、分页器

    ajax补充说明 主要是针对回调函数args接收到的响应数据 1.后端request.is_ajax() 用于判断当前请求是否由ajax发出 2.后端返回的三板斧都会被args接收不再影响整个浏览器页 ...

  9. steam社区留言红小作文模板

    steam社区留言红小作文模板 Dear steam: Im a steam user which most play csgo.i saw i had be banned in steam comm ...

  10. verilog中端口定义方式以及如何使用变量

    一.module端口定义方式 目前有两种方式能够对module端口进行定义, 第一种是我目前使用比较多的,把I/O说明写在端口声明语句里,方式A: 1 module block( 2 input a, ...