2009-12-15 4 views
3

У меня есть статический класс SessionFactory, который инициализирует фабрику сеансов NHibernate. Поскольку этот процесс дорог (~ 5 секунд), я хочу, чтобы он был статичным, поэтому он выполняется только один раз, в начале выполнения.Можно ли использовать Ninject со статическим свойством?

Конфигурация может принимать параметр параметр базы данных следующим образом:

public static IPersistenceConfigurer DbConfig { get; set; } 

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

Можно ли использовать Ninject вводить DBCONFIG с правильной константой?

+1

Я не использую NInject, но кеширование как одноэлемент - это то, что вы хотите, вместо того, чтобы сделать его статическим – Paco

ответ

3

Вместо того, чтобы этот статический, зарегистрировать экземпляр ISessionFactory (ToConstant()) затем зарегистрировать ISession с областью запроса (InRequestScope)

This thread объясняет это совершенно ясно.

Смежные вопросы