我在一个类库中有一组存储库,它们需要是单例的。它们也与其他类共享库——作为单例创建的类。
是否可以将 Ninject 配置为对所有匹配特定条件的类自动使用 InSingletonScope() - 例如,在特定命名空间中定义?
我有 20 到 30 个存储库,根据我的发现,我需要为每个存储库调用 InSingletonScope()。
我可以——当然——通过反思来做到这一点,但我很想知道是否有“自动方法”来解决这个问题:)
我在一个类库中有一组存储库,它们需要是单例的。它们也与其他类共享库——作为单例创建的类。
是否可以将 Ninject 配置为对所有匹配特定条件的类自动使用 InSingletonScope() - 例如,在特定命名空间中定义?
我有 20 到 30 个存储库,根据我的发现,我需要为每个存储库调用 InSingletonScope()。
我可以——当然——通过反思来做到这一点,但我很想知道是否有“自动方法”来解决这个问题:)
来自Ninject.Extensions.Conventions wiki:
kernel.Bind(x => x
.FromThisAssembly()
.SelectAllClasses().InNamespaceOf<MyService>()
.BindAllInterfaces()
.Configure(b => b.InSingletonScope()));