【问题标题】:Issue with passing large array to a .Net Core action via AJAX通过 AJAX 将大型数组传递给 .Net Core 操作的问题
【发布时间】:2020-07-01 14:20:18
【问题描述】:

当数组的大小更小时,我可以在控制器中调用动作。如果数组大小增加,则我无法调用该操作。

在代码中vendorPackage 是一个数组,其大小会导致问题。

var data = {
  vendorData: vendorPackage,
  mopSystemNumber: mopSystemNumber
};

$.ajax({
  url: '/MOP/SomeActionName',
  data: data,
  async: false,
  type: 'post',
  success: function(result) {},
  error: function(xhr, ajaxOptions, error) {}
});

这是行动:

public void SomeActionName(List<Model.VendorData> vendorData, List<Model.VendorData> vendorData2, int mopSystemNumber)
{
  try
  {
    mopServiceAgent.PostVendorDetails(vendorData, mopSystemNumber, dt, userID);
  }
  catch (Exception ex)
  {
    utilityServiceAgent.LogExceptionMessageHandler(ex.Message, "MOPController-PostVendorDetails", dt, userID);
  }
}

【问题讨论】:

  • 首先删除async: false。这是一种糟糕的做法,浏览器会在控制台中向您显示警告,告诉您不要使用它。关于这个问题,不可能在没有看到引发的错误的情况下说。但是,ASP.Net 确实将默认请求限制大小设置为 2Mb - 尽管您最终如何在客户端使用 2Mb 数组将是一个单独的问题。尝试增加该限制。具体如何操作将取决于您的配置。尝试谷歌搜索'asp.net core maxrequestlength'

标签: jquery .net asp.net-core


【解决方案1】:
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-12-20
  • 1970-01-01
  • 2021-10-18
  • 2021-04-14
  • 2011-07-26
  • 2020-04-01
  • 1970-01-01
相关资源
最近更新 更多