更改AutoFac默认行为

时间:2019-06-19 14:44:52

标签: c# dependency-injection inversion-of-control autofac

默认情况下,Autofac会保留所有可分解的一次性物品,直到使用期限终止。如果LifeTimeScope从不结束或很少结束,则将导致内存泄漏。

此默认设置对我们而言效果不佳-我们希望每当我们解决一个依赖于每个实例的可处理对象时,我们都可以控制它的处理,而Autofac不会保留该实例。但是,如果一次性物品是InstancePerLifeTimeScopeSingleInstance,我们希望Autofac抓住它并进行处置。

当前,这意味着我们必须在每次注册时致电ExternallyOwned

是否有任何方法可以更改Autofacs的默认行为,或者以其他方式猴子修补生成器或容器,以使所有注册都以编程方式由外部拥有?

0 个答案:

没有答案