Я использую это приложение http://www.kevinwilliampang.com/2010/04/06/setting-up-asp-net-mvc-with-fluent-nhibernate-and-structuremap/ для настройки fnh с Structuremap, но после одного запроса я получаю следующее исключение
Сессия закрыта!
Имя объекта: «ISession».
Описание: во время выполнения текущего веб-запроса произошло необработанное исключение. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.
Сведения об исключении: System.ObjectDisposedException: сессия закрыта!
Имя объекта: «ISession».
Мой класс хранилища выглядит так:
public class Repository : IRepository {
private readonly ISession _session;
public Repository(ISession session) {
_session = session;
}
public T Get<T>(Expression<Func<T, bool>> predicate) {
return _session.CreateCriteria(typeof(T)).Add(predicate).UniqueResult<T>();
}
и я регистрирую свой репозиторий в Structuremap следующим образом:
public class RepositoryRegistry : Registry {
public RepositoryRegistry() {
Scan(a => {
a.AssembliesFromApplicationBaseDirectory();
a.AddAllTypesOf<IRepository>();
});
}
}
Как я могу предотвратить закрытие сессии?