Autofac单抽象多实例属性注入
1.道理和上面一样,可以把Autofac 上下文当做属性来注入
2.在使用的时候,通过Autofac上下文+不同注册的标识,获取到不同的具体实例
[CustomPropertyAttribute]
private ITestServiceA iTestServiceAA { get; set; }
[CustomPropertyAttribute]
private IComponentContext _ComponentContextProp { get; set; }
/// <summary>
/// Autofac 容器上下文
/// </summary>
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");
ITestServiceA testServiceA1 = _ComponentContextProp.ResolveNamed<ITestServiceA>("TestServiceA");
ITestServiceA testServiceUpdate1 = _ComponentContextProp.ResolveNamed<ITestServiceA>("TestServiceUpdate");
testServiceA.Show();
testServiceUpdate.Show();
return View();
}