.net6引入autofac

软件发布|下载排行|最新软件

当前位置:首页IT学院IT技术

.net6引入autofac

汤姆茂   2022-05-23 我要评论

引入NuGet

注册Autofac

在Program的var app = builder.Build();前加上这段代码

builder.Host.UseServiceProviderFactory(new AutofacServiceProviderFactory());
builder.Host.ConfigureContainer<ContainerBuilder>(builder =>
{
    builder.RegisterType<LogRecordsService>().As<ILogRecordsService>();
});

自动注册一个类库的服务

在Program注入autofac

builder.Host.UseServiceProviderFactory(new AutofacServiceProviderFactory());
builder.Host.ConfigureContainer<ContainerBuilder>(builder =>
{
    Assembly assembly = Assembly.Load(ServiceCore.GetAssemblyName());
    builder.RegisterAssemblyTypes(assembly)
           .AsImplementedInterfaces()
           .InstancePerDependency();
});

在要注册的类库下的某个类中,写一个方法

public static class ServiceCore
    {
        /// <summary>
        /// 获取程序集名称
        /// </summary>
        /// <returns></returns>
        public static string GetAssemblyName()
        {
            return Assembly.GetExecutingAssembly().GetName().Name;
        }
    }

Copyright 2022 版权所有 软件发布 访问手机版

声明:所有软件和文章来自软件开发商或者作者 如有异议 请与本站联系 联系我们