【问题标题】:Use Ninject.InSingletonScope() for all classes in defined namespace对定义的命名空间中的所有类使用 Ninject.InSingletonScope()
【发布时间】:2013-05-01 10:26:18
【问题描述】:

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

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

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

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

【问题讨论】:

    标签: c# singleton ninject ioc-container


    【解决方案1】:

    来自Ninject.Extensions.Conventions wiki

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

    【讨论】:

      【解决方案2】:

      【讨论】:

        猜你喜欢
        • 2014-10-28
        • 2022-12-03
        • 2010-09-25
        • 1970-01-01
        • 2019-11-21
        • 2018-10-25
        • 2021-12-29
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多