NHibernateを介してデータベースと通信するWCFWebサービスバックエンドを使用してASP.NETMVCWebサイトを構築しています。現在、POCとして、必要なすべてのメソッドを含むUserServiceという1つのWebサービスがあります。私が抱えている問題は、NHibernate構成をラップするDataRepositoryオブジェクトがあることです。新しいデータリポジトリオブジェクトを作成すると、NHibernateの構成とマッピング、キャッシュなどが読み込まれます。ユーザーセッションのWebサイトでは、セッションの間、このDataRepositoryオブジェクトを開いたままにしておくのは意味がないためです。呼び出しごとにNHibernateを再構成し、NHibernateキャッシングの恩恵を受けるために、すべてのWebサービスメソッドで同じデータリポジトリを利用できるようにしたい。
UserService.csクラスレベルで静的DataRepositoryオブジェクトを作成し、セッションごとにインスタンス化するようにWebサイトを構成するという答えはここにありますか?つまり、各ユーザーセッションには、セッションの存続期間中、独自の静的データリポジトリオブジェクトが含まれますか?それとももっと良い方法はありますか?上記のアプローチで私が考えていなかったことはありますか?