在ASP DataGrid中添加3行的行时出现Out of Memory异常

时间:2013-04-09 07:29:56

标签: c# asp.net oracle entity-framework

在我的Web应用程序中,我想在数据网格中显示一个表数据,因为我正在使用Entity Framework 4.0,而我正在执行内存不足的异常。

ASP.NET数据网格是否有任何限制。 我正在使用Oracle DataBase。

以下是我的代码

        Entities obj = new Entities();
        GridView1.DataSource = obj.EQUIPMENTs.ToList();
        //Here i am getting exception
        GridView1.DataBind();

1 个答案:

答案 0 :(得分:2)

你必须检查你的记忆消耗。使用ProcessExplorer进行检查。如果您处于限制范围内,请填充您加载到集合中的数据量。

请注意CLR分配的RAM限制除了LIst<T>大小外,我看到obj.EQUIPMENTs.ToList()。对于List<T>,限制为2GB(即使在x64上)。

如果其中一个为真(或两者都有),则解决方案将重新构建您的代码。

示例:

您的用户几乎不可能同时需要所有这些数据,也许您可​​以在不同的页面/标签/任何内容之间切片......

如果您需要某些统计信息,某些聚合或某些计算,请在服务器上执行此操作并仅传输结果。