アプリの作成を開始しており、ServiceStackを使用する予定です。NHibernate ISession、またはその他の「リクエストごとの」コンテキスト固有のセッションオブジェクトを処理するためのベストプラクティス/優れたアプローチを知りたいだけです。
IocにISessionFactoryを登録するのは次のように思いました。
container.Register<ISessionFactory>(sessionFactory);
そして、必要に応じて新しいSessionオブジェクトを取得します...または、セッションオブジェクトを直接提供します。
container.Register<ISession>(c => sessionFactory.OpenSession()).ReusedWithin(ReuseScope.None);
または、Global.asaxBeginRequestイベントを介してISessionとデフォルトトランザクションを処理します。
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フレームワークのような同様のテクノロジーを考えると、ベストプラクティスは何ですか?
前もって感謝します