1.在要添加的项目中选中 依赖项->右键->管理NuGet程序包(N)
2.在NuGet包管理器中输入Autofac,安装选中文件
3.在项目中找到Program.cs文件,添加如下代码
public static IHostBuilder CreateHostBuilder(string\[\] args) =>
Host.CreateDefaultBuilder(args)
.ConfigureWebHostDefaults(webBuilder =>
{
webBuilder.UseStartup<Startup>();
})
// 添加依赖注入
.UseServiceProviderFactory(new AutofacServiceProviderFactory());
4.在项目中找到Startup.cs文件,添加如下代码
/// <summary>
/// 依赖注入配置容器
/// </summary>
/// <param name="builder"></param>
public void ConfigureContainer(ContainerBuilder builder)
{
////单个服务注入
//builder.RegisterType<OrderService>().As<IOrderService>();
// 获取 Service.dll 程序集服务,并注册
var assemblysService = Assembly.LoadFrom(Path.Combine(AppContext.BaseDirectory, "NetCoreWebApi.Service.dll"));
// 获取 IService.dll 程序集服务,并注册
var assemblysIService = Assembly.LoadFrom(Path.Combine(AppContext.BaseDirectory, "NetCoreWebApi.IService.dll"));
builder.RegisterAssemblyTypes(assemblysService)
.AsImplementedInterfaces()
.InstancePerDependency().PropertiesAutowired(PropertyWiringOptions.AllowCircularDependencies);
builder.RegisterAssemblyTypes(assemblysIService)
.AsImplementedInterfaces()
.InstancePerDependency().PropertiesAutowired(PropertyWiringOptions.AllowCircularDependencies);
}
5.添加好依赖注入,就可以直接在项目中使用
private readonly ISysRoleServices \_sysRoleServices;
public SysRoleController(ISysRoleServices sysRoleServices)
{
\_sysRoleServices = sysRoleServices;
}
手机扫一扫
移动阅读更方便
你可能感兴趣的文章