【发布时间】:2011-02-20 16:11:18
【问题描述】:
有没有人偶然发现 NHibernate 在调试时在 Visual Studio 中速度极慢,但在单独运行时表现正常的问题?日志记录被禁用,损失的时间似乎是在执行实际查询时,NHProfiler 显示查询执行得非常快(我假设在 SQL 端),但每个有 10 个查询的会话大约需要 4 秒。我正在使用 SQL Express 服务器。正如我所说,即使我打开完整日志记录并在没有 Visual Studio 的情况下运行我的应用程序,速度也会快很多。
更新。经过数小时的努力,我能够通过简单地将项目类型从 Windows 应用程序切换到控制台应用程序来修复它(虽然实际上它是一个 Windows 服务,但它总是以前使用 Windows 应用程序项目类型)。使 NHibernate 在调试模式下停止可能有什么不同?
【问题讨论】:
-
也许您正在检查触发延迟加载的内容?
-
不,我没有使用任何断点,它只是在调试模式下运行。
-
你怎么知道运行慢的是NHibernate?
-
通过在 HHinbernate.SQL 日志中观察查询之间的时间。
-
我认为这不足以证明 NHibernate 正在咀嚼时间而不是您的代码...如何在 NHibernate 中启用完整日志记录并在关键位置向您的应用程序添加日志消息?
标签: nhibernate