更改 Unity 容器的默认生命周期管理器
Changing default lifetime manager of Unity container
有没有办法让 ContainerControlledLifetimeManager 成为 Unity 容器的默认生命周期管理器,它与隐式注册一起使用,例如通过 "registration by convention"?我基本上希望将所有内容都注册为 Singleton,除非明确注册不同。
注意:我将 Unity 与 Prism 库结合使用,因此万一有 Prism 的解决方案也足够了。
使用约定注册时可以指定WithLifetime.ContainerControlled
,比如
containerRegistry.GetContainer().RegisterTypes( AllClasses.FromAssembliesInBasePath(),
WithMappings.FromMatchingInterface,
WithName.Default,
WithLifetime.ContainerControlled );
您也可以将您的单身人士放入文件夹 Services
中,并且只向 ContainerControlled
.
注册那些
有没有办法让 ContainerControlledLifetimeManager 成为 Unity 容器的默认生命周期管理器,它与隐式注册一起使用,例如通过 "registration by convention"?我基本上希望将所有内容都注册为 Singleton,除非明确注册不同。
注意:我将 Unity 与 Prism 库结合使用,因此万一有 Prism 的解决方案也足够了。
使用约定注册时可以指定WithLifetime.ContainerControlled
,比如
containerRegistry.GetContainer().RegisterTypes( AllClasses.FromAssembliesInBasePath(),
WithMappings.FromMatchingInterface,
WithName.Default,
WithLifetime.ContainerControlled );
您也可以将您的单身人士放入文件夹 Services
中,并且只向 ContainerControlled
.