【问题标题】:.Net Core POST Request Array size limit.Net Core POST 请求数组大小限制
【发布时间】:2023-03-27 00:21:01
【问题描述】:

我有一个用 .net 核心后端用 JavaScript 编写的 UI。我在 JS 中的 ajax 调用如下所示:

const data = { users: userArray, message: sendMessage, url: optUrl };

$.ajax({
    type: "POST",
    url: `${App_Url}/ui/Notifications/send`,
    dataType: "application/json",
    data: JSON.stringify(data),
    success: (response) => {
        // if (spinner)
        //   spinner.stop();
        //
        notifySuccess("Users imported successfully!");
        $("#user_table").html(response);
    },
    error: (error) => {
        //if (spinner)
        //  spinner.stop();
        //
        notifyErrors(error.responseJSON.errors);
    }
});

现在我遇到的问题是,当我的 userArray 大于某个数字(不确定数字是多少)时,我的服务器似乎只是挂断了呼叫。例如,当我的 userArray 大小为 15 时,我可以在 .NET 控制器中设置一个断点并正常处理。但是,当我的 userArray 为 1000 时,我什至没有到达断点,我的服务器返回 500。这是什么原因造成的,我该如何解决?

我的控制器:

    [HttpPost("send")]
    [DisableRequestSizeLimit]
    public async Task<IActionResult> SendNotificationsAsync(CustomNotificationRq request)
    {
        var token = await _service.GetMiddlewareToken();
        var users = request.users;
        var message = request.message;
        var url = request.url;

        var response = await _service.SendNotificationAsync(users.ToList(), message, url, token.token);


        return response;
    }

【问题讨论】:

标签: javascript .net ajax asp.net-core


【解决方案1】:

您需要在 .net core api 应用程序的 web.config 中增加此值

<appSettings>
  <add key="aspnet:MaxJsonDeserializerMembers" value="150000" />
</appSettings>

【讨论】:

  • .net 核心项目没有 web.config 文件,您不能这样做。
猜你喜欢
  • 1970-01-01
  • 2012-07-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-04-17
  • 1970-01-01
  • 2021-04-12
  • 1970-01-01
相关资源
最近更新 更多