C# 不带BeginLifeTimeScope的Autofac InstancePerLifeTimeScope
我继承了一个多线程数据处理系统,它使用AutoFac进行依赖注入 实际上,所有依赖项都定义为C# 不带BeginLifeTimeScope的Autofac InstancePerLifeTimeScope,c#,autofac,C#,Autofac,我继承了一个多线程数据处理系统,它使用AutoFac进行依赖注入 实际上,所有依赖项都定义为InstancePerLifetimeScope(),但没有调用container.BeginLifetimeScope()来打开新范围 在这种情况下,我应该期待什么样的行为?我猜是以下情况之一: AutoFac将所有解析请求视为属于单个“全局”作用域,因此为每个解析请求返回相同的实例(行为类似于单例) AutoFac认为不存在作用域,并忽略InstancePerLifetimeScope,将每个解析请求
InstancePerLifetimeScope()
,但没有调用container.BeginLifetimeScope()
来打开新范围
在这种情况下,我应该期待什么样的行为?我猜是以下情况之一:
ContainerBuilder创建IContainer
。此IContainer
继承自ILifetimeScope
,它是全局范围,是范围树的根,所有其他范围将继承自此范围
当您从Autofac解析某些内容时,如果不创建子生命周期范围,则始终存在一个范围InstancePerLifetimeScope
就像SingleInstance