会话关闭后,nhibernate不会释放内存

iBo*_*Boy 6 nhibernate

我正在使用NHibernate 2.2与c#3.5和VS2008,

问题是当我关闭Nhibernate Session对象时,内存未释放.甚至我在每次关闭后调用GC.Collect(),但没有任何东西被释放

当会话关闭时,如何强制NHibernate释放会话中加载的对象?

谢谢

Pac*_*aco 1

使用 Dispose 而不是 close。(不仅适用于 Session,还适用于 .net 中实现 IDisposable 的每个对象)

  • 一些备注: 1. 一次性对象不能被垃圾回收一次多次清理。2. 应用程序占用的内存以与释放单个对象不同的速度可供其他应用程序使用,以防止碎片。3. 无法在Windows 任务管理器中查看对象的单独内存打印。4. 单个会话中超过 1/2 MB 的内存听起来很多(加载的数据太多)。5. 在开始调试 GC 本身之前,您可以更好地下载某种分析器工具(我使用 Ants 内存分析器)以获得更准确的视图 (2认同)