[Asp.Net Core]Autofac单抽象多实例属性注入

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();
        }
上一篇:python根据信噪比对原始声音增加背景(噪声、人声、混响、音乐)


下一篇:wget - Linux系统下载文件工具