質問

私はNhibernateとCastle Windsorの両方の初心者ですが、私が取り組んでいる現在のアプリケーションは、Castle WindsorのNhibernate施設統合レベル2を使用しています。

私は自分のデータを手動で維持し、isessionManagerを使用するために必要なことを比較しましたが、実際にはコードが少なくなっていません。私の質問は、なぜIsessionManagerが必要なのですか?それは私にどのような利点を提供していますか? IsessionManagerを使用することの欠点は何ですか?

役に立ちましたか?

解決

まず、セッションを自分で管理する必要はありません。 Web環境では、通常、セッションのPRリクエストをスコープしたいと考えています。セッションマネージャーは、「Opensession」の最初の発信者が新しいセッションを開始することを保証し、ネストされた呼び出しは「Opensession」を呼び出すときに同じセッションを取得します。 httpmoduleでセッションを凝視/閉じるか、AOPパターンを使用することで同じことをすることができます。これを行うと、1つのデータベースに対して作業していることを意味し、複数のデータベースを自分で処理していることを意味します。 ISESSIONMANAGERは、複数のデータベースを処理するのと同じように整頓しています。

+あなたのためのセッションを処理してください。

- あなたのDAL/リポジトリ/あなたがそれを呼ぶものにもう少しボイラープレートコード

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top