- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
ContainerControlledLifetimeManager 和 HierarchicalLifetimeManager 之间的一般区别是什么?我知道 ContainerControlledLifetimeManager 代表单例,即 DI 容器将为每种需要依赖的类型创建一个新实例。我阅读了关于 Understanding Lifetime Managers 的有用文章.我将容器创建的实例的哈希码与不同的生命周期管理器进行了比较。如果我使用 ContainerControlledLifetimeManager,我会为每个请求得到相同的实例,但是当我使用 HierarchicalLifetimeManager 时,我得到了不同的哈希码。正如文章中所写,每个子容器都将创建自己的实例。我不完全理解它。 parent 和 child 是否有相同的实例?如果我没有 child 会怎样?我什么时候应该使用这个终身管理器?请你能给我解释一下吗?
最佳答案
ContainerControlledLifetimeManager
解析范围为容器生命周期的注册类型的单例实例HierarchicalLifetimeManager
将注册类型的单例实例解析为执行解析的容器的生命周期(但不一定是注册类型的容器)
如果您的应用程序仅使用单个容器,则 HierarchicalLifetimeManager
之间的行为没有区别。和 ContainerControlledLifetimeManager
但是,如果您的应用程序为每个 session /请求创建子容器并使用这些子容器进行解析,那么您可以有效地获得每个 session /请求已注册类型的单例实例
关于dependency-injection - ContainerControlledLifetimeManager 和 HierarchicalLifetimeManager 之间的主要区别是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42115616/
我正在使用 Unity IoC 容器进行依赖注入(inject)。我围绕这样的想法设计我的系统,即至少对于单个解析,层次结构中的所有类型都将表现为单例,也就是说,该层次结构中的相同类型解析将导致相同的
我有两个接口(interface)都由 Apple 类实现 interface a { } interface b { } class Apple: a,b { } 现在,如果我针对这两个接口(int
ContainerControlledLifetimeManager 和 HierarchicalLifetimeManager 之间的一般区别是什么?我知道 ContainerControlledL
如何填写TODO才能使这个测试通过? class MyClass { } [Test] public void Singleton_by_default_test() { var parent
我的一些单元测试收到代码分析警告: WidgetManagerTests.cs (40): CA2000 : Microsoft.Reliability : In method 'WidgetMana
我是一名优秀的程序员,十分优秀!