Asp.net core asp.net core 2.2 api json文件大小
我需要将大量数据发布到我的API中Asp.net core asp.net core 2.2 api json文件大小,asp.net-core,.net-core,asp.net-core-webapi,Asp.net Core,.net Core,Asp.net Core Webapi,我需要将大量数据发布到我的API中 [HttpPost] [RequestSizeLimit(40000000)] [Route("PostList")] public async Task<IActionResult> PostList([FromBody] IEnumerable<ItemMasterDto> data) { // Do work
[HttpPost]
[RequestSizeLimit(40000000)]
[Route("PostList")]
public async Task<IActionResult> PostList([FromBody] IEnumerable<ItemMasterDto> data)
{
// Do work
return Ok();
}
它可以很好地处理一小部分数据,但当我尝试发布超过100k的数据时,API拒绝了连接,我得到的调用失败,状态代码404(未找到)错误。正如您所看到的,我已经尝试了[RequestSizeLimit(40000000)
,并且在Startup.cs中也尝试了以下操作
services.Configure<FormOptions>(o =>
{
o.ValueLengthLimit = int.MaxValue;
o.MultipartBodyLengthLimit = long.MaxValue;
o.MultipartBoundaryLengthLimit = int.MaxValue;
o.MultipartHeadersCountLimit = int.MaxValue;
o.MultipartHeadersLengthLimit = int.MaxValue;
o.BufferBodyLengthLimit = long.MaxValue;
});
services.Configure(o=>
{
o、 ValueLengthLimit=int.MaxValue;
o、 MultipartBodyLengthLimit=long.MaxValue;
o、 MultipartBoundaryLengthLimit=int.MaxValue;
o、 MultipartHeaderCountLimit=int.MaxValue;
o、 MultipartHeadersLengthLimit=int.MaxValue;
o、 BufferBodyLengthLimit=long.MaxValue;
});
我的总数据可能在10万到20万之间。我能做些什么?谢谢你的帮助。尝试更新你的配置文件
请求限制
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
...
<security>
<requestFiltering>
<!-- This will handle requests up to 50MB -->
<requestLimits maxAllowedContentLength="52428800" />
</requestFiltering>
</security>
...
</system.webServer>
</configuration>
...
...
您是否尝试从启动文件中删除请求大小限制和所有额外配置?是的。我已经删除了。我确信文件大小没有问题,但此参数为IEnumerable。同时尝试发布示例数据。我编辑了我的问题并添加了示例数据。请检查。谢谢尝试列表。
<?xml version="1.0" encoding="utf-8"?>
<configuration>
<system.webServer>
...
<security>
<requestFiltering>
<!-- This will handle requests up to 50MB -->
<requestLimits maxAllowedContentLength="52428800" />
</requestFiltering>
</security>
...
</system.webServer>
</configuration>