AutoFac 依赖注入 .net6

一.下载AutoFac资源包

二、在API中创建Module继承Autofac.Module

public class AutoFacModule : Autofac.Module
{
    //重写Load方法
    protected override void Load(ContainerBuilder builder)
    {
        //找到自己要注册的类库    括号里是类库的名称
        var Ires = Assembly.Load("Rbac.Service");
        //类库中类的后缀名为Service的都会注册       AsImplementedInterfaces():如果类中继承了接口,则自动注册此类为接口的实现
        builder.RegisterAssemblyTypes(Ires).Where(a => a.Name.EndsWith("Service")).AsImplementedInterfaces();
       //其他需要注册的类
       builder.RegisterType(typeof(MySqlContext));
        base.Load(builder);
    }
}

三.在Program.cs在注入自己创建的Module类

builder.Host.UseServiceProviderFactory(new AutofacServiceProviderFactory()).ConfigureContainer<ContainerBuilder>(builder =>
{
    //RbacModule自己创建的Module类
    builder.RegisterModule(new RbacModule());
});
posted @ 2024-06-25 17:03  Twolp  阅读(8)  评论(0编辑  收藏  举报