Asp.net web api UnityContainer:什么是默认的lifetimemanager

Asp.net web api UnityContainer:什么是默认的lifetimemanager,asp.net-web-api,dependency-injection,inversion-of-control,unity-container,Asp.net Web Api,Dependency Injection,Inversion Of Control,Unity Container,我使用Web API 2,下面是我的unity容器的配置(我配置我的rabbitmq依赖项): container.RegisterInstance(新连接工厂){ Uri=AppSettings.RmqConnectionString }); container.RegisterType( 新的注入构造函数(typeof(ConnectionFactory),“tm.resource server.api”), 新注入方法(“Init”) ); 现在我不知道,这个依赖项的默认生存期是多少 创

我使用Web API 2,下面是我的unity容器的配置(我配置我的rabbitmq依赖项):

container.RegisterInstance(新连接工厂){
Uri=AppSettings.RmqConnectionString
});
container.RegisterType(
新的注入构造函数(typeof(ConnectionFactory),“tm.resource server.api”),
新注入方法(“Init”)
);
现在我不知道,这个依赖项的默认生存期是多少

创建或解析现有实例的时间

我应该使用自己的lifetimemanager还是使用已有的lifetimemanager(例如PerThreadLifetimeManager)

  • RegisterInstance
    的默认生存期为
    ContainerControlled LifetimeManager
  • RegisterType
    的默认生存期是
    TransientLifetimeManager
  • container.RegisterInstance(new ConnectionFactory {
        Uri = AppSettings.RmqConnectionString
    });
    
    container.RegisterType<IConnection, AutorecoveringConnection>(
        new InjectionConstructor(typeof(ConnectionFactory), "tm.resource-server.api"),
        new InjectionMethod("Init")
    );