如果我在ApplicationHost.config和web.config中都configuration了IIS设置,将会应用什么值? 它是一个ApplicationHost.config值,因为它是全局的所有网站或web.config值,因为它覆盖了它? 而当我没有在web.config中configuration它会发生什么,它应该从ApplicationHost.config这个设置?
我必须检查的特定设置是: system.webServer/security/requestFiltering/requestLimits/maxAllowedContentLength
我问的原因是当我尝试从C#应用程序configuration这些设置时,我得到了相当奇怪的结果。 即使我没有configuration它的网站,我已经手动设置ApplicationHost.config中的值我还是从web.config中获取默认值
configuration文件在范围(服务器 – >站点 – >应用程序)中向下移动时会inheritance它们的值,但是默认情况下它仅适用于特定的部分。 IIS站点在ApplicationHost.config文件以及configuration委派 上有一篇文章 。
例如,applicationHost.config中有两个不同的requestFiltering部分:一个用于FTP服务器,另一个用于网站。 您可以看到网站部分( system。webServer )如何允许覆盖值:
<section name="requestFiltering" overrideModeDefault="Allow" />
而系统下的部分。 ftpServer不。
<section name="requestFiltering" overrideModeDefault="Deny" />
所以,到你的问题。 您应该能够更新Web.config来修改您的站点(和子站点)允许的内容长度,除非您更改了applicationHost.config中的overrideModeDefault值。