asp.net-mvc-4 - 为什么超过指定 maxRequestLength 的请求会以(看似)不相关的错误响应?

标签 asp.net-mvc-4 web-config maxrequestlength http-status-code-500

我指定了一个 maxRequestLength在我的 web.config (MVC) 中,像这样:

  <location path="File/Upload">
    <system.web>
      <httpRuntime maxRequestLength="330"/>
    </system.web>
  </location>

在测试超过 330kb 的文件上传时查看网络选项卡时,我可以看到来自服务器的响应是 500详情是The required anti-forgery form field &quot;__RequestVerificationToken&quot; is not present.
为什么会这样?框架无法提供maxRequestLength的详细信息吗?在回应中?或者它只是不想泄露有关系统的信息?

还是我的请求已被截断/裁剪以满足限制,这无意中删除了请求验证 token ?

笔记

这适用于不超过 330kb 的文件,并且我的上传工作正常。

最佳答案

我看到你设置的 maxRequestLength 是 330,这是文件上传的限制。
此值遵循以下规则:

1 Mb = 1024kb

您可以在以下位置看到更多详细信息:

https://msdn.microsoft.com/en-us/library/system.web.configuration.httpruntimesection.maxrequestlength(v=vs.110).aspx

因此,当您设置 maxRequestLength="330"时,系统将理解文件上传限制为 330kb。

关于asp.net-mvc-4 - 为什么超过指定 maxRequestLength 的请求会以(看似)不相关的错误响应?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35364092/

相关文章:

c# - ASP.NET MVC4网页异步FTP上传

javascript - 如何在 MVC4 中使用 Razor View 在表中动态行?

jquery - 使用 Ajax 的 MVC 部分 View - 未出现在 div 中

c# - 其中一个表达式 int he join 子句的类型不正确。调用 'join' 时类型推断失败

asp.net - Log4net 未记录到文件

.net - maxRequestLength 的最大值?

asp.net-mvc-4 - 尽管设置了配置值,但仍超出最大请求长度

asp.net - 当 web.config 损坏时检测并发出警报

asp.net - 如何将对当前网站中的服务器控件的引用添加到 web.config

asp.net - 错误页面上超过最大请求长度且未重定向