我有一个静态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注入正确的常量?
答案 0 :(得分:3)
注册ISessionFactory实例(ToConstant()
),而不是使其成为静态,然后使用请求范围(InRequestScope
)注册ISession
This thread非常清楚地解释了这一点。