更改Unity容器的默认生存期管理器

时间:2019-09-01 15:15:42

标签: unity-container prism

有什么方法可以使ContainerControlledLifetimeManager成为Unity容器的默认生存期管理器,该容器与隐式注册一起使用,例如通过“按惯例注册”?我基本上希望将所有内容注册为Singleton,除非明确进行了其他注册。

注意:我将Unity与Prism库结合使用,以防使用Prism解决方案也足够。

1 个答案:

答案 0 :(得分:0)

使用按惯例注册时,您可以指定WithLifetime.ContainerControlled,例如

containerRegistry.GetContainer().RegisterTypes( AllClasses.FromAssembliesInBasePath(),
                                                WithMappings.FromMatchingInterface,
                                                WithName.Default,
                                                WithLifetime.ContainerControlled );

您还可以将单例放在文件夹Services中,并仅将其注册到ContainerControlled