Autofac 是.NET IoC 容器 . 它管理类之间的依赖关系, 从而使 应用在规模及复杂性增长的情况下依然可以轻易地修改 . 它的实现方式是将常规的.net类当做 组件 处理.
1. 安装Nuget包
2. 在Api中创建一个AutofacModule的类
using Autofac;
using System.Reflection;
namespace Demo.WebApi
{
public class AutofacModule:Autofac.Module
{
protected override void Load(ContainerBuilder builder)
{
var assembly = Assembly.Load("要管理的类的类名");
builder.RegisterAssemblyTypes(assembly)
.Where(u => u.Name.EndsWith("要管理的类的类名后缀"))
.AsImplementedInterfaces();
base.Load(builder);
}
}
}
3. Program.cs中注册
using Autofac;
//注入Autofac
builder.Host.UseServiceProviderFactory(new AutofacServiceProviderFactory()).ConfigureContainer<ContainerBuilder>
(builder =>
{
builder.RegisterModule<AutofacModule>();
});
4. 在服务层或控制器构造函数中注入
private readonly IMapper _mapper;
public UserController(IMapper mapper)
{
_mapper = mapper;
}
登录案例中使用
[HttpPost]
[Route("Login")]
public IActionResult Login(UserInfoDto info)
{
var userInfo=_mapper.Map<UserInfoDto,UserModel>(info);
var result = user.Login(userInfo);
return Ok(result);
}
标签:Load,mapper,Autofac,builder,using,组件,NET6,public From: https://www.cnblogs.com/njxw7819/p/17655120.html