根据MSDN的说法,有一个“提示”指出,在高负载下运行并发垃圾收集(<gcConcurrent enabled="true"/>
或未指定,因为它是默认行为)的 .NET 应用程序可能会引发 ExecutionEngineException。是否有人知道 Microsoft 知识库文章或其他提供更多背景信息的来源?
我们在一个基于 NHibernate 3.2 的 Windows 服务应用程序中直接体验到了这一点,该应用程序在最多运行几个小时后总是会崩溃。我们能够追踪到 ISession.Flush() 调用的异常。
有一个关于 nhusers 的线程报告似乎是同样的问题。他建议的解决方法,即禁用并发 GC,到目前为止对我们有效,尽管切换到<gcServer enable="true"/>
隐式禁用并发 GC 的服务器模式 GC ( ) 也起到了作用。
在将此作为错误提交给 MS 之前,我想知道是否有人有关于提示提到的并发 GC 不稳定性的其他信息。