11

这是我设置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 的文件。

有谁知道我是否可以maxRequestLength像其他上传工具一样忽略该值?

4

3 回答 3

8

考虑到MaxRequestLength的 Type是Int,目前无法正确解析高于Int.Max的值。

我听说他们可能会增加 IIS8,但微软目前还没有具体的消息。我在 .Net 4.5 中看到的唯一方法是使用HttpRequest.GetBufferlessInputStream

获取可用于读取传入 HTTP 实体正文的 Stream 对象,可选择禁用 MaxRequestLength 属性中设置的请求长度限制。

于 2012-10-29T21:30:51.240 回答
1

就我而言,这些是我需要应用的更改:

<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,请遵循此问题的第一个答案中的说明

于 2019-08-16T01:43:13.880 回答
-1

您应该能够通过像这样将相同的节点添加到应用程序的 web.config 中来覆盖 machine.config 中的设置。Microsoft 有一些关于ASP.NET 配置文件层次结构和继承的信息。

注意: Erik Philips 是正确的,最大尺寸maxRequestLength为 2,147,483,647 ( Int32.MaxValue)。这个答案是为了说明如何从应用程序的 web.config/ 中覆盖 machine.config(或任何 .config)中定义的设置

<configuration>
    ...
    <system.web>
        <httpRuntime maxRequestLength="2147483647"/>
    ...
    ...
    </system.web>
    ...
</configuration>

但是,在这样做时,您可能还想增加超时时间,或者它可能会超时。

于 2012-10-29T21:22:24.610 回答