这是我将maxRequestLength
设置为2GB(最大值)的位置,表示ASP.NET支持的最大请求大小:
<system.web>
<httpRuntime maxRequestLength="2097151" executionTimeout="3600"/>
...
这里我将maxAllowedContentLength
设置为4GB(最大值),它指定IIS支持的请求中的最大内容长度
<system.webServer>
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="4294967295"/>
</requestFiltering>
</security>
...
我希望能够上传最高4GB的文件,但我受到maxRequestLength
字段的限制。
我注意到这个第三方上传工具(http://www.element-it.com/onlinehelp/webconfig.html)具有ignoreHttpRuntimeMaxRequestLength
属性,允许它上传最大4GB的文件。< / p>
有没有人知道我是否可以像其他上传工具那样忽略maxRequestLength
值?
答案 0 :(得分:8)
考虑到MaxRequestLength的类型是Int,目前无法正确解析高于Int.Max的值。
我听说他们可能会增加IIS8,但微软还没有具体的内容。我在.Net 4.5中看到的唯一方法是使用HttpRequest.GetBufferlessInputStream
获取一个Stream对象,该对象可用于读取传入的HTTP实体主体,可选择禁用MaxRequestLength属性中设置的请求长度限制。
答案 1 :(得分:0)
就我而言,这些是我需要应用的更改:
<system.web>
<httpRuntime targetFramework="4.6.1" maxRequestLength="2147483647" />
</system.web>
<system.webServer>
<serverRuntime uploadReadAheadSize="2147483647" />
<security>
<requestFiltering>
<requestLimits maxAllowedContentLength="2147483647" />
</requestFiltering>
</security>
</system.webServer>
为了添加serverRuntime,请遵循this question的第一个答案中的指示
答案 2 :(得分:-1)
您应该能够通过将相同的节点添加到应用程序的web.config中来覆盖machine.config中的设置。 Microsoft提供了有关ASP.NET Configuration File Hierarchy and Inheritance的一些信息。
注意: Erik Philips是对的,maxRequestLength
的最大尺寸为2,147,483,647(Int32.MaxValue
)。这个答案是为了说明如何在应用程序的web.config /
<configuration>
...
<system.web>
<httpRuntime maxRequestLength="2147483647"/>
...
...
</system.web>
...
</configuration>
在执行此操作时,您可能还希望增加超时,或者可能会超时。