2011-10-19 4 views
2

私はNHibernateとCastle Windsorの初心者ですが、私が取り組んでいる現在のアプリケーションはCastle WindsorのNHibernateの統合レベル2を使用しています。つまり、ISessionManagerを使用しています。なぜ、CastleWindsor NHibernateの施設からISessionManagerを使いたいのですか?

私は手動でデータを保持し、ISessionManagerを使用するために必要な作業を比較しましたが、実際には少ないコードしか書いていません。私の質問は、ISessionManagerが必要なのはなぜですか?それは私に何のメリットがありますか? ISessionManagerを使用する際の短所は何ですか?

答えて

1

まず、セッションを自分で管理する必要はありません。 Web環境では、通常、セッション要求のスコープを設定する必要があります。セッションマネージャは、最初の "OpenSession"呼び出し元が新しいセッションを開始し、 "OpenSession"呼び出し時にネストされた呼び出しが同じセッションを取得することを保証します。 httpmoduleでセッションを開始/終了するか、AOPパターンを使用して同じことを行うことができます。これは、1つのデータベースに対して作業していることを意味し、複数のデータベースを処理することは少し面倒です。 ISessionManagerは複数のデータベースを処理します。

+ は、複数のデータベースに対して作業のためにあなた 軽量、非侵入 シンプル 簡単支援のためのセッションを処理し ホスティング(ちょうどだけでなく、それはIISと同じようnservicebushostingで動作します)とらわれない

- もう少しあなたのDAL /リポジトリの定型コード/あなたがそれを何と呼んでも

関連する問題