系统内存不足C#

时间:2018-07-02 10:53:02

标签: c# json asp.net-mvc

我在编辑网格中的数据时遇到麻烦。在这种情况下,不会选择数据。它会引发错误,并且在单击链接http://localhost:39302/FlightInfo/GetFlightStatusById?FId=1462时会引发错误。让我知道其背后的问题。预先感谢。

public JsonResult GetFlightStatusById(int FId)
{
    tblFlightSchedule model = db.tblFlightSchedules.SingleOrDefault(x => x.FId == FId);
    string value = string.Empty;

    value = JsonConvert.SerializeObject(model, Formatting.Indented, new JsonSerializerSettings
    {
        ReferenceLoopHandling = ReferenceLoopHandling.Ignore
    });

    var jsonResult = Json(value, JsonRequestBehavior.AllowGet);
    jsonResult.MaxJsonLength = int.MaxValue;
    return jsonResult;
}

JS:

function EditFlightRecord(FId) {
    debugger;
    var url = "/FlightInfo/GetFlightStatusById?FId=" + FId;
    $("#ModalTitle").html("Update Flight Status");
    $("#MyModal").modal();
    $.ajax({
        type: "GET",
        url: url,
        success: function (data) {
            var obj = JSON.parse(data);
            $("#FId").val(obj.FId);

发生以下错误: mscorlib.dll中发生类型'System.OutOfMemoryException'的异常,但未在用户代码中处理。 由于内存不足异常,功能评估被禁用。

1 个答案:

答案 0 :(得分:1)

在您的web.config中添加以下设置。并尝试针对 64位

构建代码
<gcAllowVeryLargeObjects    
   enabled="true" />  

默认情况下,它的行为是这样的。我认为这就是为什么您会出错

来自文档:

<gcAllowVeryLargeObjects    
  enabled="true|false" />
     

[...]

     

值说明

     

false 未启用总大小大于2 GB的阵列。这是默认设置。

     

true 在64位平台上启用了总大小超过2 GB的阵列。