ServiceStack NHibernate Session для каждого запроса

Я начинаю создавать приложение, и я планирую использовать ServiceStack. Просто хочу узнать, каковы наилучшие практики / хорошие подходы для обработки NHibernate ISession или другие "по запросу" контекстно-специфичные объекты сеанса.

Я думал, что регистрация ISessionFactory в Ioc, например:

container.Register<ISessionFactory>(sessionFactory);

И когда нужно получить новый объект Session ... Или, может быть, предоставить объект сеанса напрямую:

container.Register<ISession>(c => sessionFactory.OpenSession()).ReusedWithin(ReuseScope.None);

Или обработайте ISession и транзакцию по умолчанию через событие Global.asax BeginRequest:

protected void Application_BeginRequest(object sender, EventArgs e)
{
    var session = factory.OpenSession();
    ITransaction itrans = session.BeginTransaction();
    Context.Items.Add("session", session);
    Context.Items.Add("trans", itrans);
}

Итак, я в некотором роде потерян, каковы лучшие практики, учитывая вышеупомянутые технологии, или подобные, такие как EF или другая структура Rest-Services?

заранее спасибо

Ответы на вопрос(3)

Ваш ответ на вопрос