HI,asp.net自定義角色提供NHibernate的錯誤
我實現我的NHibernate應用 自定義角色提供我有我打電話時,我想訪問NHibernate會話的存儲庫。
所以,當我的角色提供初始化自身
public override void Initialize(string name, System.Collections.Specialized.NameValueCollection config) {
base.Initialize(name, config);
Repository = new Repository();
}
然後我重寫
public override string[] GetRolesForUser(string username) {
var users = Repository.QueryAll<Users>();
//然後我濾芯等
}
但是,當這個函數被調用我總是會出現NHibernate會話關閉的錯誤。 我調試了nhibernate源代碼,事實證明,這裏的會話有一個不同的guid,我的控制器中的會話(我也使用ASP.NET MVC)。 當我到達這裏時,這個特定的會議關閉。 我不知道是誰關閉它。我知道它是在應用程序啓動時啓動的,然後才啓動。
有沒有人有任何想法我做錯了什麼? 我想在此提供程序中仍然使用Nhibernate,但不會再出現錯誤。 謝謝
什麼是你的會話管理策略? – 2011-01-05 21:02:25
我在application_start上啓動一個會話工廠,並在存儲庫構造函數中獲得了cureent會話 – Para 2011-01-06 07:30:36
我指的是何時何地打開和關閉會話? – 2011-01-06 14:25:35