ado.net - .NET System.OutOfMemoryException 和 AppDomains

标签 ado.net appdomain out-of-memory

我有一个插件管理器,可以启动连接到 FoxPro 的插件 通过 ADO.NET OLE DB 提供程序建立数据库。

在一个客户端站点连接打开和关闭没有任何问题 但在另一个客户端站点,它陷入了“connection.Open();”并在其中 超过 1GB 的内存分配需要几秒钟。

之后一分钟内,又分配了 1GB,并且 抛出 System.OutOfMemoryException。

插件管理器卸载 AppDomain 并继续。

我从哪里开始调试这个?

最佳答案

通过“调试”选项启用“调试外部代码”,然后单步执行有问题的代码并观察它的作用。您也许可以使用内存分析器(我喜欢 DotTrace)来更清楚地了解是什么导致了速度减慢。

关于ado.net - .NET System.OutOfMemoryException 和 AppDomains,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1349352/

相关文章:

c# - 为什么这个 INSERT 命令不起作用?

java - 使用 Jersey 发送大型 JAXB 对象会生成 OutOfMemoryError

c# - 如何在winforms中用C#获取一个表中的所有记录并将其保存到另一个表中?

c# - Ado.net ExecuteScalar() 返回 null

c# - 将在运行时编译的程序集加载到不同的 AppDomain 失败

c# - 在 .NET 4.0 中,如何 'sandbox' 一个内存程序集并执行一个方法?

从外部线程调用时,.net 单元测试崩溃并显示 "Cannot pass a GCHandle across AppDomains"

c# - 写入 FileStream 时 c# 中的 OutOfMemoryException

java - 在 Java 中处理内存不足情况的最佳方法是什么?

c# - 在异步 BeginExecuteReader 中检测命令取消