我的公司有一个ASP.Net应用程序,它在内存不足的情况下运行,并在客户进行了几天的活动后抛出内存异常。我能够在我们的测试环境中重现错误,并使用adplus创建了挂起转储。当查看堆中最大/最多的对象时,我注意到我们有超过500,000个NHibernate.SqlCommand.Parameter对象。这不可能是正确的!我们有33个sessionfactories实例化了总数,并且每个客户端数据库有1个sessionfactory。我们使用的nhibernate的版本是2.1.0.4000。NHibernate内存泄漏
我们禁用了二级缓存,查询计划缓存和查询缓存。我们仍然在内存转储中看到500,000个NHibernate.SqlCommand.Parameter。
有没有看到这种行为?
您正在使用哪个驱动程序? – 2010-05-14 07:30:13