2013-05-01 64 views
1

我有一个类库中的一组存储库,需要单身。 他们与其他类共享库 - 以单身形式创建的类。使用Ninject.InSingletonScope()在定义的命名空间中的所有类

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

我有20到30个存储库,从我发现的情况来看,我需要为每个存储库调用InSingletonScope()。

我 - 当然 - 反射做到这一点,但我想知道是否有“自动办法”,这:)

回答

3

Ninject.Extensions.Conventions wiki

kernel.Bind(x => x 
    .FromThisAssembly() 
    .SelectAllClasses().InNamespaceOf<MyService>() 
    .BindAllInterfaces() 
    .Configure(b => b.InSingletonScope()));