维持具有统一性的具体类的单个实例

时间:2012-04-22 18:17:15

标签: dependency-injection unity-container instantiation

当使用unity时,如果我尝试注入一个我没有明确注册容器的具体类型,unity会尝试找到当前类型并为我实例化一个新类型,然后将它注入依赖于它的类中它。

如何确保只使用此类型的单个实例?我是否需要事先在容器中明确注册实例?

1 个答案:

答案 0 :(得分:2)

来自MSDN

  

您可以使用Unity容器生成具有公共构造函数的任何对象的实例(换句话说,您可以使用new运算符创建的对象),而无需使用容器注册该类型的映射。当您调用Resolve方法并指定未注册的类型的默认实例时,容器只是调用该类型的构造函数并返回结果。

简单地说,,您必须为您的类型注册一个映射,才能在您的应用中将其用作单例。您可以使用RegisterInstance方法或RegisterType并将ContainerControlledLifetimeManager作为终身经理来实现。