web.config文件设置是否覆盖IIS设置?

时间:2009-08-07 18:46:22

标签: asp.net iis

例如,

我可以通过添加:

在web.config文件中指定会话超时
<system.web>
        <sessionState timeout="10"/>
</system.web>

或者我可以通过转到“应用程序配置选项”来配置IIS中的会话超时。

如果它们都配置为不同的值,哪一个胜出?更具体地说,所有其他设置是否遵循相同的模式?


编辑:我不认为他们是同一个人。 web.config获胜。当我在IIS中更改值时,没有任何内容被写回web.config。

web.config中的设置与IIS中的设置之间存在明确的脱节。我没有阅读任何关于哪一个覆盖另一个的好文档。我所观察到的是web.config获胜。我认为其他人可能会更深入地了解这种差异。

6 个答案:

答案 0 :(得分:12)

web.config中的那个'获胜'。

编辑: 基本上,当您从UI编辑设置时,更改将写回web.config

答案 1 :(得分:5)

他们是同一个人。

答案 2 :(得分:3)

IIS管理器中配置的设置将作为<location path="your-site/subfolder">元素添加到服务器的根applicationHost.config文件中(位于C:\ Windows \ System32 \ inetsrv \ config中)。由于web.config中的设置始终覆盖applicationHost.config中的设置,因此如果相同的设置在IIS管理器中有一个值,而在web.config中有另一个值,则web.config值将赢得&#39;。< / p>

答案 3 :(得分:0)

他们是一样的。顺便说一句,你可以比输入这个问题更快地尝试一下! :)

答案 4 :(得分:0)

会话超时: web.config将覆盖IIS配置工具的会话超时设置 仅适用于ASP.NET应用程序......

对于asp,情况恰恰相反

答案 5 :(得分:0)

回答得太迟了,但可能会为将来来到这里的人们解决问题。

article解释了IISASP.net应用程序之间的继承。

提示3的报价:了解您的Web.config如何继承IIS配置设置

当然,服务器管理员不一定要允许任何 服务器上的应用程序通过Web.config修改设置,因此 是ApplicationHost.config中的可配置策略,其状态是 单个应用程序是否可以覆盖设置。

post解释了两个ApplicationHost.config属性的用法:overrideModeDefaultallowDefinition。这两个属性都设置是否和谁可以覆盖IIS内部的ApplicationHost.config设置。

基于这两个,如果我们不知道web.config项,那么我们不能毫无疑问地说IIS会覆盖ApplicationHost.config

引用来自:Introduction to ApplicationHost.config

默认情况下,大多数IIS节被锁定,使用 该部分中的overrideModeDefault =“ Deny”。