.net core使用autofac替换默认IOC容器
.net core提供了默认的IOC容器,但是默认的IOC容器比较简单,如果咱们的需求也比较单一完全能够胜任,但是如果我们需要使用到一些高级功能,比如:属性注入、AOP(面向切面)、按条件注入等,默认的IOC容器就显得捉襟见肘,而这一切用autofac就会显得格外的简单。那么.net core中如何使用autofac替换默认的IOC容器呢?
1、引入nuget包
<PackageReference Include="Autofac.Extensions.DependencyInjection" Version="7.0.0" />
2、修改Program类的CreateHostBuilder方法,主要是:UseServiceProviderFactory(new AutofacServiceProviderFactory())
public static IHostBuilder CreateHostBuilder(string[] args) => Host.CreateDefaultBuilder(args) //使用autofac实现依赖注入 .UseServiceProviderFactory(new AutofacServiceProviderFactory()) .ConfigureWebHostDefaults(webBuilder => { webBuilder.UseStartup<Startup>(); });
3、修改Startup增加ConfigureContainer方法
public void ConfigureContainer(ContainerBuilder builder) { builder.RegisterType<UsersBLL>().As<IUsersBLL>();//注入 }
最后,我们就可以像使用原生的IOC容器一样,在需要的地方直接引入IUsersBLL即可。
分类:
Autofac
, 编程语言 / .net core
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 零经验选手,Compose 一天开发一款小游戏!
· 通过 API 将Deepseek响应流式内容输出到前端
· AI Agent开发,如何调用三方的API Function,是通过提示词来发起调用的吗