Asp.net web api 超出了WebApi 2的最大请求长度

Asp.net web api 超出了WebApi 2的最大请求长度,asp.net-web-api,Asp.net Web Api,有人知道有没有办法捕捉到这个错误吗 本质上,我试图实现一些功能,允许用户将文件从网页上传到webapi控制器 这可以正常工作,但如果文件大小超过web.config中指定的最大大小,服务器将返回404错误 我希望能够截获这一点,并返回一个500错误以及消息,该消息可由客户端使用 我无法确定在WebApi中在何处执行此操作,因为我在Global.asax中实现的应用程序错误方法从未命中,而且IIS似乎没有将此消息传递给WebApi应用程序。尝试将IIS设置为接受2GB请求(以字节为单位) //2

有人知道有没有办法捕捉到这个错误吗

本质上,我试图实现一些功能,允许用户将文件从网页上传到webapi控制器

这可以正常工作,但如果文件大小超过web.config中指定的最大大小,服务器将返回404错误

我希望能够截获这一点,并返回一个500错误以及消息,该消息可由客户端使用


我无法确定在WebApi中在何处执行此操作,因为我在Global.asax中实现的应用程序错误方法从未命中,而且IIS似乎没有将此消息传递给WebApi应用程序。

尝试将IIS设置为接受2GB请求(以字节为单位)


//2GB
并为ASP.NET应用程序设置合理的请求大小(以KB为单位)


//4MB(默认值)
现在IIS应该允许小于2GB的请求传递到您的应用程序,但若请求大小达到4MB,应用程序将跳转到应用程序中。在那里,您可以管理您想要返回的内容

无论如何,大于2GB的请求总是会被IIS返回404.13

相关链接:


它在我的服务器上的外观:

<system.web>
<httpRuntime targetFramework="4.6.1" maxRequestLength="16240" />
</system.web>


您需要增加允许的最大请求大小。请参阅此答案:我已经这样做了,但我希望能够在超过此值时捕获实例中的错误。本文提供了有关上述配置的一些其他详细信息:
<system.web>
  <httpRuntime maxRequestLength="4096" /> // 4MB (default)
</system.web>
<system.web>
<httpRuntime targetFramework="4.6.1" maxRequestLength="16240" />
</system.web>