public void ConfigureContainer(ContainerBuilder containerBuilder)
{
#region 指定控制器由AutoFac 进行实例获取
var assembly = this.GetType().GetTypeInfo().Assembly;
var builder = new ContainerBuilder();
//新建Mvc管理程序集填入当前程序集
var manager = new ApplicationPartManager();
manager.ApplicationParts.Add(new AssemblyPart(assembly));
manager.FeatureProviders.Add(new ControllerFeatureProvider());
var feature = new ControllerFeature();
manager.PopulateFeature(feature);
//创建单例并且允许属性注入
builder.RegisterType<ApplicationPartManager>().AsSelf().SingleInstance();
builder.RegisterTypes(feature.Controllers.Select(t => t.AsType()).ToArray()).PropertiesAutowired();
#endregion
//瞬时生命周期 每次获取实例不一样
containerBuilder.RegisterType<ServiceA>().As<IServiceA>
AutoFac 生命周期管理
最新推荐文章于 2023-07-06 18:50:10 发布