Asp.net 类型'的例外情况;System.OutOfMemoryException';仅为10000张唱片而被抛出

Asp.net 类型'的例外情况;System.OutOfMemoryException';仅为10000张唱片而被抛出,asp.net,Asp.net,当用户试图在excel工作表(.xlsx)中上载数据时,我遇到此错误。 这不是一个永久性的问题。我以前经常收到这个问题,大概一周一次。但今天这种情况经常发生 private void ExportToExcelOpenOffice(DataTable dataDump) { long? empUserId = null; bool showTeamData = false; if (this.IsUserEntryValid()

当用户试图在excel工作表(.xlsx)中上载数据时,我遇到此错误。 这不是一个永久性的问题。我以前经常收到这个问题,大概一周一次。但今天这种情况经常发生

    private void ExportToExcelOpenOffice(DataTable dataDump)
    {

        long? empUserId = null;
        bool showTeamData = false;

        if (this.IsUserEntryValid())
        {
            if (CurrentUser.Details.UserType == UserType.User)
            {
                empUserId = CurrentUser.Details.EmployeeUserId;
                showTeamData = true;
            }

            if (dataDump.IsValid(true))
            {
                // ExcelHelper.ToExcel(dataDump, "ELogger_DataDump.xls", this.Response);
                // RichExcelHelper.ToExcel(dataDump, "ELogger_DataDump.xls", this.Response);

                using (ExcelPackage pck = new ExcelPackage())
                {
                    ExcelWorksheet ws = pck.Workbook.Worksheets.Add("Page 1");
                    ws.Cells["A1"].LoadFromDataTable(dataDump, true);

                    //Write it back to the client
                    Response.ContentType = "application/vnd.openxmlformats-officedocument.spreadsheetml.sheet";
                    Response.AddHeader("content-disposition", "attachment;  filename=ELogger_DataDump.xlsx");
                    Response.BinaryWrite(pck.GetAsByteArray());
                    Response.Flush();
                    Response.End();
                }

            }
            else
            {
                lblMessage.Visible = true;
                lblMessage.Text = "No records found.";
            }
        }
        else
        {
            lblMessage.Visible = true;
            lblMessage.Text = this.errorMessage;
        }
    }
好吧,只是为了让任何一个人来这里讨论类似的问题。让我澄清一下,上面提到的代码没有错。我优化了我的Sql存储过程。我所做的一件事是向某些列添加了非聚集索引,这提高了性能

在存储过程中也很少进行其他与业务需求相关的更改。
总而言之,优化查询对我来说是成功的


你会得到你的答案[这里][1][1]: