Dependency injection 从新生命周期范围自动解析FAC

Dependency injection 从新生命周期范围自动解析FAC,dependency-injection,autofac,Dependency Injection,Autofac,有没有办法告诉Autofac从新的生存期范围解析组件 意思是: containerBuilder.RegisterType<Layer1>().As<ILayer1>().SingleInstance(); containerBuilder.RegisterType<Layer2>().As<ILayer2>().SingleInstance(); containerBuilder.RegisterType<Layer3>().As

有没有办法告诉Autofac从新的生存期范围解析组件

意思是:

containerBuilder.RegisterType<Layer1>().As<ILayer1>().SingleInstance(); 
containerBuilder.RegisterType<Layer2>().As<ILayer2>().SingleInstance(); 
containerBuilder.RegisterType<Layer3>().As<ILayer3>().SingleInstance(); 
containerBuilder.RegisterType<MyContainer>().As<IContainer>().SingleInstance(); 
containerBuilder.RegisterType<Layer1>().As<ILayer>().SingleInstance(); 
containerBuilder.RegisterType<IRepository<Folder>>().As<FoldersRepository>().InstancePerDependency();
containerBuilder.RegisterType().As().SingleInstance();
containerBuilder.RegisterType().As().SingleInstance();
containerBuilder.RegisterType().As().SingleInstance();
containerBuilder.RegisterType().As().SingleInstance();
containerBuilder.RegisterType().As().SingleInstance();
containerBuilder.RegisterType().As().InstancePerDependence();
MyContainer占据了他的ctor中的所有层。 尽管我希望Layer1在一个新的生命周期中得到解决。有没有办法在注册中指定它,而不是从新的生命周期范围手动解析它

using (var myLifeTimeScope = container.BeginLifetimeScope()) 
{ 
   var myLayer1=mylLifeTimeScope.Resolve<ILayer>(); 
} 

using (var myLifeTimeScope = container.BeginLifetimeScope()) 
{ 
   var container=mylLifeTimeScope.Resolve<IContainer>(); 
} 
使用(var myLifeTimeScope=container.BeginLifetimeScope())
{ 
var myLayer1=mylLifeTimeScope.Resolve();
} 
使用(var myLifeTimeScope=container.BeginLifetimeScope())
{ 
var container=mylLifeTimeScope.Resolve();
} 

据我所知,您不能在注册码中做任何类似的事情。但在您的示例中,这并不重要,因为您每次都会得到相同的层实例,因为它们都注册为
SingleInstance()
请查看我的另一个问题:仍然很难理解如何管理它们