我試圖找出我的應用程序中的很多內存在哪裏,並在做一些分析時我注意到由NHibernate加載的任何數據對象掛一旦請求(是asp.net),因此會話結束。追溯它,似乎有很多事情正在做,比如「SingleTableEntityPersister」和「StatefulPersistenceContext」。我現在禁用了二級緩存,但它們仍然保留在NHibernate堅持對數據對象的引用
任何想法?
會話被正確配置:
if (session != null)
{
if (session.Transaction != null && session.Transaction.IsActive)
{
session.Transaction.Rollback();
}
else
{
session.Flush();
}
session.Close();
session.Dispose();
}
請求完成後,您如何清理會話? – AlexCuse
已編輯問題 – Paul
@Paul和誰保持會話活着? –