例如,
我可以通过添加以下内容在web.config文件中指定会话超时:
<system.web>
<sessionState timeout="10"/>
</system.web>
Run Code Online (Sandbox Code Playgroud)
或者,我可以通过转到"应用程序配置选项"在IIS中配置会话超时.
如果它们都配置为不同的值,哪一个赢?更具体地说,所有其他设置是否遵循相同的模式?
编辑:我不认为他们是同一个人.web.config获胜.当我在IIS中更改值时,没有任何内容被写回web.config.
web.config中的设置与IIS中的设置之间存在明确的脱节.我没有阅读任何关于哪一个覆盖另一个的好文档.我所观察到的是web.config获胜.我认为其他人可能会更深入地了解这种差异.
在 IIS 管理器中配置的设置作为<location path="your-site/subfolder">
元素添加到服务器的根 applicationHost.config 文件(位于 C:\Windows\System32\inetsrv\config)。由于 web.config 中的设置始终覆盖 applicationHost.config 中的设置,如果同一设置在 IIS 管理器中具有一个值而在您的 web.config 中具有另一个值,则 web.config 值“胜出”。
现在回答已经太晚了,但可能会为未来来到这里的人澄清问题。
本文解释了应用程序IIS
之间的继承ASP.net
。
引自技巧 3:了解 Web.config 如何继承 IIS 配置设置
当然,服务器管理员不一定希望允许服务器上的任何应用程序通过 Web.config 修改设置,因此 ApplicationHost.config 中有可配置的策略,用于说明各个应用程序是否可以覆盖设置。
这篇文章ApplicationHost.config
解释了两个属性的用法:overrideModeDefault
和allowDefinition
。这两个属性都设置是否以及谁可以覆盖IIS
内部设置ApplicationHost.config
。
基于这两者,如果我们不了解条目,我们就不能毫无疑问地说web.config
overrides 。IIS
ApplicationHost.config
默认情况下,大多数 IIS 部分都被锁定,在该部分中使用 overrideModeDefault="Deny"。
归档时间: |
|
查看次数: |
7018 次 |
最近记录: |