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

我将maxAllowedContentLength更改为

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

在我的web.config,但在IIS7上运行时,我得到这个错误:

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

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

但是当我运行在VS服务器上运行正常没有任何错误。

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

根据MSDN, maxAllowedContentLength具有typesuint ,其最大值是4,294,967,295字节= 3,99 gb

所以它应该工作正常。

另请参阅请求限制文章 。 当相应的部分完全没有configuration时,IIS是否会返回这些错误之一?

另请参见: 超出最大请求长度

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

第一

  • 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> 

你可以改变的其他因素是:

 <location path="NAME PATH CONTROLLER"> 

因为它的path允许访问所有使用上传的控制器。