0
我有一個Nhibernate類庫和一個引用它的Web應用程序。我可以得到的數據形成的產品表,這很好,但是當我刷新它,我收到低於這個issue.Please看到圖像:使用Nhibernate時的WebDev問題
http://vi-vn.com/pubs/images/NhibernateWeb.jpg
(死鏈接)
是否有辦法來糾正他的問題?
我有一個Nhibernate類庫和一個引用它的Web應用程序。我可以得到的數據形成的產品表,這很好,但是當我刷新它,我收到低於這個issue.Please看到圖像:使用Nhibernate時的WebDev問題
http://vi-vn.com/pubs/images/NhibernateWeb.jpg
(死鏈接)
是否有辦法來糾正他的問題?
您已鏈接的錯誤消息圖像向我表明您可能試圖訪問會話後,它已被關閉。嘗試訪問延遲加載的集合/引用時,通常會發生這種情況。例如:
class MyObject
{
public virtual IList<MyOtherObject> MyObjects { get; set; }
}
MyObject obj = session.Load<MyObject>(1);
// Some stuff happens, the session is explicitly closed or goes out of scope
// Later, obj is still tied to the (now closed) session but code tries to:
int count = obj.MyObjects.Count; // MyObjects is lazy-loaded, NHibernate tries to query
NHibernate的看到了MyObjects收集延遲加載和尚未初始化,所以它會試圖通過其關聯的會話來查詢集合。但是,該會話已經關閉,所以它會拋出ObjectDisposedException
並說「會話已關閉!」
解決方案是預加載您的集合或確保會話不會超出範圍,或者在您完成之前明確處理會話。
應該如何知道問題是什麼?您應該調試您的服務器並提供發生的異常和生成它的代碼。 – 2009-06-09 09:55:20
http://vi-vn.com/pubs/images/SessionClose.jpg 是的。我使用NHibernate-2.1.0.Alpha2-bin – QuachNguyen 2009-06-09 11:08:25