You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

.NET Core 6+Oracle页面绑定数据时出现Out of Memory问题求助

.NET Core 6 + Oracle 项目内存不足(Out of Memory)问题排查求助

本地服务器触发Out of Memory错误,场景是在.NET Core 6结合Oracle的项目中,Index页面绑定数据时,部分数据显示后几秒就出现该错误。

已经尝试过官方文档提供的所有解决方案,也通过谷歌搜索寻求办法,但都没能解决问题。当前查询返回的数据量为22358行,还尝试在web.config文件中添加了<requestLimits maxAllowedContentLength="2147483648" />配置,问题依旧存在。

后端C#代码

public IActionResult Index()
{
    var unitcode = HttpContext.Session.GetString("UnitCode");
    CommonViewModel.EmpMstslist = new List<EmpMst>();
    try
    {
        CommonViewModel.EmpMstslist = GetAllEmp();
    }catch(Exception ex)
    {

    }
    return View(CommonViewModel);
}
public IEnumerable<EmpMst> GetAllEmp()
{
    var unitcode = HttpContext.Session.GetString("UnitCode");
    IEnumerable<EmpMst> empList;
    string query = "select EM_PNO,EM_NAME,EM_PASS,EM_STATUS,EM_HNAME,UNIT_CD from emp_mst where     UNIT_CD ='" + unitcode + "'";
    DataTable table = _context.GetSQLQuery(query.ToString());
    empList = (from DataRow dr in table.Rows
               select new EmpMst()
               {
                   EmPno = Convert.ToString(dr["EM_PNO"] != DBNull.Value ? Convert.ToString(dr["EM_PNO"]) : ""),
                   EmHname = Convert.ToString(dr["EM_HNAME"] != DBNull.Value ? Convert.ToString(dr["EM_HNAME"]) : ""),
                   EmName = Convert.ToString(dr["EM_NAME"] != DBNull.Value ? Convert.ToString(dr["EM_NAME"]) : ""),
                   EmStatus = Convert.ToString(dr["EM_STATUS"] != DBNull.Value ? Convert.ToString(dr["EM_STATUS"]) : ""),
                   UnitCd = Convert.ToString(dr["UNIT_CD"] != DBNull.Value ? Convert.ToString(dr["UNIT_CD"]) : ""),
                   EmPass = Convert.ToString(dr["EM_PASS"] != DBNull.Value ? Convert.ToString(dr["EM_PASS"]) : "")

               }).OrderByDescending(x => x.EmName).ToList();

    return empList;
}

前端Razor视图代码

<table class="table table-striped table-hover" id="HrmsGrid">
    <thead>
        <tr>
            <th> Unit Code </th>
            <th> Employee Personal No. </th>
            <th> Employee Name      </th>
            <th> Employee Pass      </th>
            <th> Employee HName     </th>
            <th> Employee Status    </th>
           
            <th class="table_cell">Action</th>
        </tr>
    </thead>

    <tbody>
        @foreach (var item in Model.EmpMstslist)
        {
            <tr>
                <td>@Html.DisplayFor(modelItem => item.UnitCd )</td>
                <td>@Html.DisplayFor(modelItem => item.EmPno)</td>                                      
                <td>@Html.DisplayFor(modelItem => item.EmName )</td>
                <td>@Html.DisplayFor(modelItem => item.EmPass)</td>
                <td>@Html.DisplayFor(modelItem => item.EmHname)</td>
                <td>@Html.DisplayFor(modelItem => item.EmStatus )</td>                                         
                <td>
                    <a asp-area="FASADM" asp-controller="FASM014" asp-action="Edit" asp-route-emp="@item.EmPno" asp-route-UnitCode="@item.UnitCd" class="addnewitem glpicon @Model.Edit" data-toggle="modal"><i class="far fa-edit" data-toggle="tooltip" title="" data-original-title="Edit" onclick="SHOW_TR_Function('traddpanelEdit','traddpanel')"></i></a>
                    <a class="delete glpicon @Model.Delete" style="cursor:pointer;" data-toggle="modal" onclick="divShow('/FASADM/FASM014/DeleteConfirmed?emp=@item.EmPno&&unitcd=@item.UnitCd')"><i class="far fa-trash-alt" data-toggle="tooltip" title="" data-original-title="Delete"></i></a>
                </td>
            </tr>
        }
    </tbody>
</table>

内容的提问来源于stack exchange,提问作者Varun

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.18 22:45:33