如何在IIS7上运行时将maxAllowedContentLength设置为500MB?

时间:2010-10-26 09:43:10

标签: asp.net iis-7 file-upload .net-4.0

我将maxAllowedContentLength更改为

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

在我的web.config中,但在IIS7上运行时出现此错误:

  

'maxAllowedContentLength'属性无效。不是有效的无符号整数

http://i.stack.imgur.com/u1ZFe.jpg

但是当我在VS服务器中运行时,它正常运行而没有任何错误。

如何配置我的网站以允许上传大小为500MB的文件,在IIS7上没有这个问题?

3 个答案:

答案 0 :(得分:106)

.Net中的请求限制可以从两个属性配置在一起:

第一

  • Web.Config/system.web/httpRuntime/maxRequestLength
  • 计量单位:千字节
  • 默认值4096 KB(4 MB)
  • 最大。值2147483647 KB(2 TB)

第二

  • Web.Config/system.webServer/security/requestFiltering/requestLimits/maxAllowedContentLength(以字节为单位)
  • 计量单位:字节
  • 默认值30000000字节(28.6 MB)
  • 最大。值4294967295字节(4 GB)

参考文献: http://www.whatsabyte.com/P1/byteconverter.htm https://www.iis.net/configreference/system.webserver/security/requestfiltering/requestlimits

示例:

 
<location path="upl">
   <system.web>
     <!--The default size is 4096 kilobytes (4 MB). MaxValue is 2147483647 KB (2 TB)-->
     <!-- 100 MB in kilobytes -->
     <httpRuntime maxRequestLength="102400" />
   </system.web>
   <system.webServer>
     <security>
       <requestFiltering>          
         <!--The default size is 30000000 bytes (28.6 MB). MaxValue is 4294967295 bytes (4 GB)-->
         <!-- 100 MB in bytes -->
         <requestLimits maxAllowedContentLength="104857600" />
       </requestFiltering>
     </security>
   </system.webServer>
 </location>

答案 1 :(得分:82)

根据MSDN maxAllowedContentLength类型为uint,其maximum value为4,294,967,295字节= 3,99 gb

所以它应该可以正常工作。

另见Request Limits article。当完全没有配置相应的部分时,IIS是否会返回其中一个错误?

另请参阅:Maximum request length exceeded

答案 2 :(得分:2)

IIS v10 (但这对于IIS 7.x也应该相同)

快速添加正在寻找各自最大值的人

maxAllowedContentLength的最大值为:UInt32.MaxValue --> 4294967295 bytes: ~2GB

maxRequestLength的最大值为:Int32.MaxValue --> 2147483647 bytes: ~4GB

web.config

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.web>
    <!-- ~ 2GB -->
    <httpRuntime maxRequestLength="2147483647" />
  </system.web>
  <system.webServer>
    <security>
      <requestFiltering>
        <!-- ~ 4GB -->
        <requestLimits maxAllowedContentLength="4294967295" />
      </requestFiltering>
    </security>
  </system.webServer>
</configuration>