当 NHibernate 的日志级别设置为“DEBUG”时,我们开始在日志中看到一堆“内部连接致命”错误。看起来 NHibernate 在处理特定结果集时会以大约 ½ 的方式死亡。根据日志,NHibernate 读取的最后一列似乎有垃圾,而这些垃圾不在基础数据中。
在以下情况下,问题似乎消失了:
- 日志级别设置回“错误”。
- 被查询的视图被更改为返回更少的数据(更少的行或者各个列的空值或空白值)。
我们正在使用 ASP.NET MVC、IIS7、.NET Framework 4.5、SQL Server 2012、log4net.2.0.2 和 NHibernate.3.3.3.4001。
我想我真正担心的是代码存在一些隐藏的问题,日志记录的额外压力正在暴露出来,但我不确定它可能是什么。我已经仔细检查了 NHibernate 映射,它们看起来不错。我还检查以确保我在每个请求结束时处理 NHibernate 会话。我还尝试增加命令超时,这似乎没有什么不同。