2011-02-08 78 views
1

我在.NET应用程序中引用了一个ActiveX DLL,并且得到了一个“加载大量数据的用户抛出的”内存不足以继续执行程序“异常来自这个ActiveX对象。例外:内存不足,无法继续执行程序

解决此问题的建议方法是什么?

开发这个DLL的公司并不是很高兴能够修复这个bug,所以我试图自己处理这个问题。

感谢

+0

“开发这个DLL的公司并不是很激动修复这个bug” - 为什么? – 2011-02-08 09:14:51

回答

0

假设它是消耗内存,而不是你的代码的ActiveX控件,我不知道有什么可以做,除了可能尝试使用ActiveX在任一使用较少的内存或防止此异常,例如一个稍微不同的方式控制:

  • 防止有人加载太多的数据集一次。
  • 不知何故将大型数据集分成几个较小的数据集。
  • 使用64位进程。
  • 尝试以某种方式分割多个进程的内存压力。

当然,这都将取决于ActiveX控件的具体情况,所以很难说如果不知道更多关于控件的信息,这是否可行。

根据this answer有一个machine.config设置,它允许你增加每进程的内存限制,这可能会有所帮助 - 你也应该阅读关于这个问题的第二个答案,这个答案更详细地说明为什么这个例外发生。