超过最大请求长度

时间:2019-12-18 09:50:12

标签: asp.net iis iis-6

我遇到了最大请求长度超出错误,试图从站点下载文件(由asp.net开发)。我确实尝试了以下链接中建议的解决方案  Maximum request length exceeded.

但是我仍然有同样的错误。

我正在使用的iss是8.5 [1]:https://i.stack.imgur.com/pCLEs.png 我将以下标签添加到web.conf

   <security>
    <requestFiltering>
      <requestLimits maxAllowedContentLength="1073741824" />
    </requestFiltering>
      </security>

当我添加以下标签时,它会引发“ 500-内部服务器错误”。

 <httpRuntime maxRequestLength="1048576" />

但似乎没有任何作用。

1 个答案:

答案 0 :(得分:0)

IIS的默认最大文件上传大小为4MB。上传超过4MB的文件会出现错误“超出最大请求长度”。

machine.config文件设置为4MB默认限制。我们可以使用web.config中的以下代码对其进行更改。

< system.web >
  < httpRuntime executionTimeout="240" maxRequestLength="20480" / >
< /system.web >

对于IIS 7和更高版本,我们可以修改默认的上传限制。您需要将以下代码添加到web.config。

< system.webServer >
      < security >
           < requestFiltering >
                < requestLimits maxAllowedContentLength="3000000000" / >
           < /requestFiltering >
      < /security >
< /system.webServer >

maxAllowedContentLength 字节估算 maxRequestLength 千字节估算。 maxRequestLength的默认值为4096(4mb)。最大值是2,147,483,647 maxAllowedContentLength的默认值为30,000,000(大约30mb)。最大值是4,294,967,295。

您可以根据文件大小设置值。高于maxRequestLength的值为20MB,maxAllowedContentLength为30MB。也不要忘记设置执行超时或connectionTimeout值。

connectionTimeout指定IIS在断开被视为不活动的连接之前等待的时间(以秒为单位)。

executionTimeout指定在被ASP.NET自动关闭之前允许执行请求的最大秒数。

参考链接:

https://docs.microsoft.com/en-us/iis/configuration/system.applicationHost/sites/siteDefaults/limits#005

https://docs.microsoft.com/en-us/previous-versions/dotnet/netframework-4.0/e1f13641(v=vs.100)?redirectedfrom=MSDN#Anchor_0