2011-02-08 46 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設置,它允許你增加每進程的內存限制,這可能會有所幫助 - 你也應該閱讀關於這個問題的第二個答案,這個答案更詳細地說明爲什麼這個例外發生。

相關問題