2010-11-19 96 views
0

我遇到問題。 我已經根據wcf調用設置了會話管理。 我正在使用StructureMap作爲IoC,並將會話注入到存儲庫構造函數中。會話在每個WCF呼叫方案的會話中關閉

有一個場景,當我得到Session是關閉異常。 所以我調試,這是工作流程:()。對於(使用< _sessionFactory.GetCurrentSession()) 1. SessionFactory.OpenSession() 2.保存會話上下文 3 StructureMap獲取會話從上下文中,並注入會話放入我的倉庫(此時Session.IsOpen == true) 4.我在做一些查詢。 5.在查詢執行(異常會話關閉被拋出) 6. WchCall結束 7. NHibernateContextManager中的Detach(InstanceContext):IExtension被調用(在這個地方Session.IsOpen == true !!!!) 8. Session.Close叫

這種異常只發生在一種情況下,其他一切正常。

請幫忙。

+0

這隻發生在一個類中,同一個存儲庫在另一個類中工作。 – Luka 2010-11-19 13:24:51

+0

這隻會發生,如果我讓StructureMap實例化類,但如果我使用ObjectFactory.GetInstance ()然後它工作正常。 – Luka 2010-11-19 13:57:21

回答

0

好的,發現問題了。 問題出在這個類的StructureMap配置中: 我有: ForSingletonOf()。Use();

現在更改爲: For()。Use();