[Asp.Net Core]Autofac单抽象多实现构造函数注入
Posted 厦门德仔
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了[Asp.Net Core]Autofac单抽象多实现构造函数注入相关的知识,希望对你有一定的参考价值。
Autofac单抽象多实现构造函数注入
1.注册的时候可以指定一个标识
#region 一个接口多个实现
containerBuilder.RegisterType<TestServiceA>().Named<ITestServiceA>("TestServiceA");
containerBuilder.RegisterType<TestServiceUpdate>().Named<ITestServiceA>("TestServiceUpdate");
#endregion
2.在控制器中获取的时候获取一个Autofac的上下文,通过上下文+标识,得到不同的实现的实例;
#region 一个接口多个实现
[CustomPropertyAttribute]
private ITestServiceA iTestServiceAA get; set;
private readonly IComponentContext _ComponentContext = null;
public SixThController(IComponentContext componentContext)
_ComponentContext = componentContext;
public IActionResult Index()
ITestServiceA testServiceA = _ComponentContext.ResolveNamed<ITestServiceA>("TestServiceA");
ITestServiceA testServiceUpdate = _ComponentContext.ResolveNamed<ITestServiceA>("TestServiceUpdate");
iTestServiceAA.Show();
return View();
#endregion
3.测试验证
以上是关于[Asp.Net Core]Autofac单抽象多实现构造函数注入的主要内容,如果未能解决你的问题,请参考以下文章
[Asp.Net Core]Autofac单抽象多实现构造函数注入