c# – Asp.net Core RequestSizeLimit仍然执行操作

我正在使用ASP.net Core 2.0和MVC.我有一个控制器操作,我想将请求大小限制为1MB.我添加了RequestSizeLimit属性,如下所示:

[HttpPost]
[Authorize]
[RequestSizeLimit(1_000_000)]
public async Task<List<ResourceUploadResult>> Upload([FromBody]List<Resource> updatedList){
    //....
}

当上传时< 1MB,它按预期工作.当它是> 1MB我希望服务器返回状态413,但相反,updatedList参数为null并且操作正常执行,当它尝试迭代列表时运行NullReferenceException. 当达到大小限制时,有没有办法告诉Kestrel返回413?

最佳答案
可能不是最好的,但它会同时起作用.

if(updatedList == null)
      return StatusCode(413, "Payload to big") ;

转载注明原文:c# – Asp.net Core RequestSizeLimit仍然执行操作 - 代码日志