我有一个类库中的一组存储库,需要单身。 他们与其他类共享库 - 以单身形式创建的类。使用Ninject.InSingletonScope()在定义的命名空间中的所有类
是否可以配置Ninject自动将InSingletonScope()用于匹配特定条件的所有类 - 例如,在特定命名空间中定义的类?
我有20到30个存储库,从我发现的情况来看,我需要为每个存储库调用InSingletonScope()。
我 - 当然 - 反射做到这一点,但我想知道是否有“自动办法”,这:)
我有一个类库中的一组存储库,需要单身。 他们与其他类共享库 - 以单身形式创建的类。使用Ninject.InSingletonScope()在定义的命名空间中的所有类
是否可以配置Ninject自动将InSingletonScope()用于匹配特定条件的所有类 - 例如,在特定命名空间中定义的类?
我有20到30个存储库,从我发现的情况来看,我需要为每个存储库调用InSingletonScope()。
我 - 当然 - 反射做到这一点,但我想知道是否有“自动办法”,这:)
从Ninject.Extensions.Conventions wiki:
kernel.Bind(x => x
.FromThisAssembly()
.SelectAllClasses().InNamespaceOf<MyService>()
.BindAllInterfaces()
.Configure(b => b.InSingletonScope()));
这是一个奇迹我没有搜索的时候发现这个! 谢谢! – ForestC 2013-05-01 19:04:53