1.在要添加的项目中选中 依赖项-右键-管理NuGet程序包(N) 2.在NuGet包管理器中输入Autofac,安装选中文件 3.在项目中找到Program.cs文件,添加如下代码 public static IHostBuilder CreateHostBuilder(s...
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;
}
沃梦达教程
本文标题为:.net Core WebApi使用AutoFac
猜你喜欢
- 如何使用C# 捕获进程输出 2023-03-10
- c# 模拟线性回归的示例 2023-03-14
- Oracle中for循环的使用方法 2023-07-04
- WPF使用DrawingContext实现绘制刻度条 2023-07-04
- 在C# 8中如何使用默认接口方法详解 2023-03-29
- Unity Shader实现模糊效果 2023-04-27
- user32.dll 函数说明小结 2022-12-26
- Unity3D实现渐变颜色效果 2023-01-16
- .NET CORE DI 依赖注入 2023-09-27
- C# 使用Aspose.Cells 导出Excel的步骤及问题记录 2023-05-16
