集成管道模式:上传超过2GB的文件

Sam*_*eer 7 c# asp.net integrated-pipeline-mode .net-4.5 iis-10

虽然我已将contentlength的限制设置为大约4GB,但最大值如下所示

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

<httpRuntime targetFramework="4.5" requestValidationMode="2.0"
  requestPathInvalidCharacters="" maxRequestLength="5024000" executionTimeout="3600" />
Run Code Online (Sandbox Code Playgroud)

我收到了以下错误

HTTP错误400.0 - 错误请求

ASP.NET在URL中检测到无效字符.

我找到了一个链接,提到了这种行为的原因

https://blogs.msdn.microsoft.com/friis/2013/06/19/uploading-large-file-to-iis-7-5-or-8-using-file-input-element/

如果应用程序在NET 4.5集成管道下运行,则上传将无法在2G以上运行,并且IIS将发送以下错误:"HTTP 400.0 - 错误请求ASP.NET在URL中检测到无效字符.".

当使用集成管道时,我们通过webengine代码(webengine4!MgdGetRequestBasics),它不支持超过2 GB的内容长度,并引发System.ArithmeticException异常,随后导致HTTP 400错误.使用经典管道,我们不使用webengine4,而是使用旧的ASPNET_ISAPI模型,我们没有遇到上述问题.

想在IIS 10和.net framework 4.5中询问它是否仍然有效.

有没有可以设置的设置来解决这个问题?