UnityContainer:什么是默认的终身经理

时间:2016-09-20 10:35:42

标签: asp.net-web-api dependency-injection inversion-of-control unity-container

我使用Web API 2,这里是我的统一容器的配置(我配置我的rabbitmq依赖项):

container.RegisterInstance(new ConnectionFactory {
    Uri = AppSettings.RmqConnectionString
});

container.RegisterType<IConnection, AutorecoveringConnection>(
    new InjectionConstructor(typeof(ConnectionFactory), "tm.resource-server.api"),
    new InjectionMethod("Init")
);

现在我无法弄清楚,这种依赖关系的默认生存期是什么?

他们将在什么时间创建或解决现有的实例。

我应该使用自己的终身经理还是使用现有的(例如PerThreadLifetimeManager)?

1 个答案:

答案 0 :(得分:1)

  1. RegisterInstance的默认生命周期为ContainerControlledLifetimeManager
  2. RegisterType的默认生命周期为TransientLifetimeManager