是否可以使用具有静态属性的Ninject?

时间:2009-12-15 00:09:37

标签: c# nhibernate static properties ninject

我有一个静态SessionFactory类,用于初始化NHibernate会话工厂。因为这个过程很昂贵(约5秒),所以我希望它是静态的,所以它只在运行开始时完成一次。

配置可以采用数据库参数参数,如下所示:

public static IPersistenceConfigurer DbConfig { get; set; }

public static void Initialize()
{
    var cfg = Fluently.Configure()
                      .Database(DbConfig)
                      .Mappings(some mappings)
                      .BuildConfiguration();
}

是否可以使用Ninject为DbConfig注入正确的常量?

1 个答案:

答案 0 :(得分:3)

注册ISessionFactory实例(ToConstant()),而不是使其成为静态,然后使用请求范围(InRequestScope)注册ISession

This thread非常清楚地解释了这一点。