疑難排解例外狀況:System.OutOfMemoryException
更新:2007 年 11 月
嘗試配置記憶體失敗時,就會擲回 OutOfMemoryException 例外狀況。
相關秘訣
如果您正在建立陣列,請確定其大小是正確的。
如需詳細資訊,Visual Basic 使用者請參閱 Visual Basic 中的陣列。如需詳細資訊,C# 使用者請參閱 陣列 (C# 程式設計手冊)。
請確定您有足夠的記憶體做為內部用途及新增 Managed 物件之用。
如果您正以 .NET Compact Framework 方式進行程式設計,而內部用途或新增 Managed 物件所需的記憶體不足時,Common Language Runtime (CLR) 就會擲回這個例外狀況。若要避免這個例外狀況,進行程式設計時請避免設計使用 64 KB 或更多記憶體的大型方法。
備註
使用過多的 Managed 記憶體,通常是因為:
將大量資料集讀入記憶體中。
建立過多的快取項目。
上傳或下載大型檔案。
剖析檔案時,使用太多規則運算式 (Regular Expression) 或字串。
檢視狀態過多。
工作階段狀態中有過多資料,或工作階段過多。
在 COM 物件上叫用方法,而且這個 COM 物件會傳回包含安全陣列 (非固定大小的陣列) 的使用者定義型別時,便可能會擲回這個例外狀況,其中的訊息為:「存放裝置空間不足,無法完成此操作」。這是因為 .NET Framework 無法封送處理具有安全陣列型別的結構欄位。