1

我在一个类库中有一组存储库,它们需要是单例的。它们也与其他类共享库——作为单例创建的类。

是否可以将 Ninject 配置为对所有匹配特定条件的类自动使用 InSingletonScope() - 例如,在特定命名空间中定义?

我有 20 到 30 个存储库,根据我的发现,我需要为每个存储库调用 InSingletonScope()。

我可以——当然——通过反思来做到这一点,但我很想知道是否有“自动方法”来解决这个问题:)

4

2 回答 2

3

来自Ninject.Extensions.Conventions wiki

kernel.Bind(x => x
    .FromThisAssembly()
    .SelectAllClasses().InNamespaceOf<MyService>()
    .BindAllInterfaces()
    .Configure(b => b.InSingletonScope()));
于 2013-05-01T17:37:44.233 回答
1

这由ninject.extensions.conventions 扩展处理。

于 2013-05-01T11:08:11.670 回答