“终身范围受到尊重”是什么意思?

时间:2017-10-28 07:44:34

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

我正在阅读Autofac官方文档中的Implicit Relationship Types部分,但我真的不明白这一行。

  

使用此关系类型可以尊重终身范围。

谁能帮助我解释一下“受尊重”究竟意味着什么?

先谢谢!!!

1 个答案:

答案 0 :(得分:1)

'尊重'意味着当您使用动态实例化时,Autofac不会覆盖您的注册。

接下来的两行详细阐述:

  

如果您将对象注册为InstancePerDependency()并多次调用Func<B>,则每次都会获得一个新实例。但是,如果将对象注册为SingleInstance()并调用Func<B>多次解析对象,则每次都会获得相同的对象实例。

引自提问者的评论:

  

我理解接下来的两行中的详细解释,并且我已经为此编写了演示,但是与生命范围的连接是什么?我能否理解终身范围很重要,并会影响实例化?

与生命周期范围的连接:

当你依赖注入一个对象时,我会给你一个新对象或 单身吗?

为什么生命周期范围很重要并会影响实例化:

对象是否具有不应在其他地方访问的实例属性?如果我给你一个新对象,它是否应该是应用程序生命周期的剩余部分?