2010-11-19 13 views
0

問題があります。 wcf呼び出しごとにセッション管理をセットアップしました。 IoCとしてStructureMapを使用しています。セッションをリポジトリコンストラクタに注入しています。セッションがWCFコールシナリオごとにセッション中に閉じられる

セッションが閉じられた例外を取得するシナリオが1つあります。 これはワークフローです: 1. SessionFactory.OpenSession() 2.セッションをコンテキストに保存します 3. StructureMapはコンテキスト(For)からセッションを取得し、< _sessionFactory.GetCurrentSession()を使用して、私のリポジトリへのセッション(現時点ではSession.IsOpen == true) 4.私はいくつかの質問をしています。 5.クエリ実行時(セッションが閉じられた例外がスローされます) 6. WchCallが終了します 7. NHibernateContextManagerからのDetach(InstanceContext):IExtensionが呼び出されました(この時点でSession.IsOpen == true !!!!) 8. Session.Closeが呼び出されました

この例外は1つのシナリオでのみ発生し、その他はすべて正常に動作しています。

助けてください。

+0

これは1つのクラスでのみ発生し、同じリポジトリは別のクラスで動作します。 – Luka

+0

これは、StructureMapがクラスをインスタンス化するようにした場合にのみ発生しますが、私がObjectFactory.GetInstanceを使用した場合、()は正常に機能します。 – Luka

答えて

0

いいえ、問題が見つかりました。 問題は、このクラスのStructureMap convigurationにありました。 私は: ForSingletonOf()を使用しています。

に変更されました: For()。();を使用してください。

関連する問題