.Net6 Web Core API 配置 Autofac 封装 --- 依赖注入

目录

一、NuGet 包导入

二、Autofac 封装类

三、Autofac 使用

四、案例测试


下列封装 采取程序集注入方法, 单个依赖注入, 也适用, 可<依赖注入>的地方配置

一、NuGet 包导入

Autofac

Autofac.Extensions.DependencyInjection

Autofac.Extras.DynamicProxy

二、Autofac 封装类

using System.Reflection;
using Autofac;
using Autofac.Extensions.DependencyInjection;
using Module = Autofac.Module;namespace LOG.Autofac;/// <summary>
/// 自定义扩展 Autofac 方法
/// </summary>
public static class CustomAutoFacExt
{public static void AddAutofacExt(this WebApplicationBuilder builder){// 通过工厂替换,把Autofac整合进来builder.Host.UseServiceProviderFactory(new AutofacServiceProviderFactory()).ConfigureContainer<ContainerBuilder>(build =>{build.RegisterModule(new AutoFacManager());});}
}public class AutoFacManager : Module
{// 重写 Autofac 管道 Load方法, 在这里注入protected override void Load(ContainerBuilder builder){#region 依赖注入// 加载程序集  -- "Services" 为类库名Assembly services = Assembly.Load("Services");// 添加程序集依赖builder.RegisterAssemblyTypes(services).Where(t => t.Name.EndsWith("Services")).AsImplementedInterfaces();// 在这里注册其他依赖-------------------#endregionbase.Load(builder);}
}

三、Autofac 使用

// 在 Program.cs 文件中
// 添加Autofac 扩展
builder.AddAutofacExt();

四、案例测试

 

 


如有错误,烦请批评指正

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/53091.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

应急响应-主机后门webshell的排查思路(webshell,启动项,隐藏账户,映像劫持,rootkit后门)

0x00 windows主机后门排查思路 针对主机后门windows&#xff0c;linux&#xff0c;在对方植入webshell后&#xff0c;需要立即响应&#xff0c;排查出后门位置&#xff0c;以及排查对外连接&#xff0c;端口使用情况等等 排查对外连接状态&#xff1a; 借助工具&#xff1a;p…

【Ansible】Ansible自动化运维工具之playbook剧本搭建LNMP架构

LNMP 一、playbooks 分布式部署 LNMP1. 环境配置2. 安装 ansble3. 安装 nginx3.1 准备 nginx 相关文件3.2 编写 lnmp.yaml 的 nginx 部分3.3 测试 nginx4. 安装 mysql4.1 准备 mysql 相关文件4.2 编写 lnmp.yaml 的 mysql 部分4.3 测试 mysql5. 安装 php5.1 编写 lnmp.yaml 的 …

整理mongodb文档:collation

文章连接 整理mongodb文档:collation 看前提示 对于mongodb的collation。个人主要用的范围是在createcollection&#xff0c;以及find的时候用&#xff0c;所以本片介绍的时候也是这两个地方入手&#xff0c;对新手个人觉得理解概念就好。不要求强制性掌握&#xff0c;但是要…

服务器流量

1.服务器流量分为入流量和出流量 入流量&#xff08;Inbound Traffic&#xff09;是指流向服务器的数据流量&#xff0c;也就是客户端发送到服务器的数据。这些数据可能包括请求信息、文件上传等。 出流量&#xff08;Outbound Traffic&#xff09;是指从服务器流向客户端的数…

【C++】内存管理

内存管理 一、C/C内存分布二、C 内存管理方式1. new/delete操作内置类型2. new和delete操作自定义类型 三、new 和 delete 的实现原理1. 内置类型2. 自定义类型 四、定位new表达式(placement-new) &#xff08;了解&#xff09;五、 malloc/free 和 new/delete 的区别 一、C/C内…

神码ai火车头标题伪原创【php源码】

这篇文章主要介绍了如何把python 代码打包成可执行软件&#xff0c;具有一定借鉴价值&#xff0c;需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获&#xff0c;下面让小编带着大家一起了解一下。 火车头采集ai伪原创插件截图&#xff1a; Python 程序封装-打包成exe程…

stm32与上位机电脑间最快的通信方式是什么?

对于小型多关节机械臂的控制电路设计&#xff0c;选择合适的通信方式可以提高MCU与上位机之间的实时性。以下是一些在STM32上常用的通信方式&#xff0c;你可以根据你的具体需求选择适合的&#xff1a; 串口通信&#xff08;UART&#xff09;&#xff1a;串口通信是一种常见的…

C++类和对象入门(下)

C类和对象入门 1. Static成员1.1 Static成员的概念2.2 Static成员的特性 2.友元2.1 友元函数2.2 友元函数的特性2.3 友元类 3. 内部类3.1 内部类的概念和特性 4. 匿名对象5. 再次理解类和对象 1. Static成员 1.1 Static成员的概念 声明为static的类成员称为类的静态成员&…

Protobuf 调试踩坑记录

这是一次记录在使用protobuf中踩坑的记录&#xff0c;做一次记录整理&#xff0c;也希望能给其他遇到坑的同学一些帮助。 目录 背景&#xff1a; 踩坑记录 problem 1&#xff1a; solution&#xff1a; problem 2&#xff1a; solution&#xff1a; problem 3: solutio…

怎么加密文件夹才更安全?安全文件夹加密软件推荐

文件夹加密可以让其中数据更加安全&#xff0c;但并非所有加密方式都能够提高极高的安全强度。那么&#xff0c;怎么加密文件夹才更安全呢&#xff1f;下面我们就来了解一下那些安全的文件夹加密软件。 文件夹加密超级大师 如果要评选最安全的文件夹加密软件&#xff0c;那么文…

掌握Python的X篇_19_函数的定义与调用

文章目录 1. 函数2. 函数的定义3. 函数调用 1. 函数 在Python&#xff0c;函数是一种基本的编程接口&#xff0c;因为函数的调用只关心参数输入和返回值&#xff0c;所以使得我们可以更好地进行编程分工。 以下程序的功能是得到输入的三个数字的平方值&#xff0c;根据前面所学…

ChatGPT即将取代程序员

W...Y的主页 相信ChatGPT大家已经都不陌生&#xff0c;我们经常会在工作和学习中应用。但是ChatGPT的发展速度飞快。功能也越来越全面。ChatGPT的文章也是层次不穷的出现&#xff0c;ChatGPT即将取代程序员的消息也铺天盖地。那ChatGPT真的会取代程序员吗&#xff1f;我们是否…