IIS Express的默认限制<limits> </limits>

时间:2015-01-26 17:24:28

标签: iis-7

我需要测试一个接受非常大的文件的文件上传组件。我想在我的开发环境中进行本地测试,但由于我使用IIS Express而不是IIS 7,我不确定在哪里进行全局更改。

在IIS 7中,无法通过web.config进行更改,但需要通过IIS管理器工具进行更改。有关示例,请参阅this IIS article

有没有人知道如何使用IIS Express(在Visual Studio 2013中)进行相同的全局更改?

4 个答案:

答案 0 :(得分:4)

如果web.config更改ppascualv建议不起作用,请尝试将其放入IIS Express applicationhost.config ,该文件位于

%userprofile%\my documents\iisexpress\config\applicationhost.config

<system.webServer>

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

除非来自应用程序的web.config覆盖它,否则应将其设置为全局。

答案 1 :(得分:3)

您基本上需要在 web.config maxRequestLengthmaxAllowedContentLength中设置上传文件。

  • maxRequestLength 表示ASP.NET支持的最大文件上载大小
  • maxAllowedContentLength 这指定IIS支持的请求中的最大内容长度

注意:maxRequestLength以千字节为单位&amp; maxAllowedContentLength位于字节

默认情况下,Machine.config配置为接受高达4096 KB(4 MB)的HTTP请求,并反映在所有ASP.NET应用程序中。您可以直接更改Machine.config文件,也可以只更改您想要的应用程序的Web.config文件

<system.webServer>
        <security>
            <requestFiltering>
                <requestLimits maxAllowedContentLength="524288000"/>
            </requestFiltering>
        </security>
</system.webServer>

 <system.webServer>
   <security>
      <requestFiltering>
         <requestLimits maxAllowedContentLength="1073741824" />
      </requestFiltering>
   </security>
 </system.webServer>

答案 2 :(得分:2)

您可以在web.config

中使用它
<system.webServer>
        <security>
            <requestFiltering>
                <requestLimits maxAllowedContentLength="524288000"/>
            </requestFiltering>
        </security>
</system.webServer>

答案 3 :(得分:1)

由于请求标头太大而无法解决“ 400 Bad Request”,而与Visual Studio 2019的默认IIS Express实例相对,我无法让Sarah的solution正常工作,但发现http.sys设置here达到了目的。

具体地说,我在HKEY_LOCAL_MACHINE\System\CurrentControlSet\Services\HTTP\Parameters内创建了一个名为MaxRequestBytes的DWORD注册表值,并将其设置为足够大的值。对我来说,33000就足够了。还在同一位置创建了MaxFieldLength,并将其设置为33000。必须重新启动计算机才能使设置生效。

关于我的问题的原因,描述为here。这本质上是由放置在请求标头中的身份验证Cookie引起的。推送到Azure App Service可以很好地工作(标头的限制可能是32KB),但是针对本地IIS Express,它一直失败,直到上述修复为止。