Можно ли использовать Ninject со статическим свойством? - PullRequest
3 голосов
/ 15 декабря 2009

У меня есть статический 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 Ответ

3 голосов
/ 15 декабря 2009

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

Эта тема объясняет это довольно четко.

...