AutoFac简单使用
-
安装nuget包
1.1.Autofac
1.2.Autofac.Extensions.DependencyInjection
-
public static IHostBuilder CreateHostBuilder(string[] args) =>
Host.CreateDefaultBuilder(args)
//通过AutoFac完成 接管操作
.UseServiceProviderFactory(new AutofacServiceProviderFactory())
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
}); -
在Statup中添加AutoFac容器
引用:using Autofac; 和 using Autofac.Core;//AutoFac容器
public void ConfigureContainer(ContainerBuilder builder)
{
//builder.RegisterType<StudentDal>(); 不带接口
//builder.RegisterType<StudentDal>().As<IStudentDal>(); 带接口
builder.RegisterModule(new AutiFacConfigs());//通过模块方式进行
} -
通过自定义类 继承Autofac.Module 来完成 业务逻辑部分
//需要引用 using Autofac;
public class AutiFacConfigs:Autofac.Module
{
protected override void Load(ContainerBuilder builder)
{
//base.Load(builder);
//通过反射的方式加载程序集
var assembly = Assembly.Load("DAL");
builder.RegisterAssemblyTypes(assembly);
}
}

浙公网安备 33010602011771号