我们有一个大型内容管理系统,配置为IIS中的主站点.我们还有一些独立的应用程序在IIS 7.5下配置为应用程序.我们遇到的问题是子应用程序从父应用程序继承web.config文件,即使它们是完全独立的应用程序并且在没有配置设置的旁边共享.理想情况下,我们希望停止子应用程序继承web.config文件.那可能吗?
如果没有,我们想告诉子应用程序不要继承master web.config文件的一部分.我们已经尝试编辑子web.config文件并将指令添加到配置文件中,但这似乎不起作用.
据我所知,我们可以修改父web.config文件以添加指令以有效地限制继承;但是我们对这样做犹豫不决,因为我们不确定这会对CMS产生什么影响.有问题的web.config文件也大约有1000行,我们不确定我们需要做多少改变.当然,我们可以继续使用此解决方案并进行彻底测试,但我宁愿找到一个不需要修改父应用程序的解决方案.
我们还尝试更新子web.config文件以手动删除父web.config的某些元素,我们得到了混合的结果.我们可以卸载HTTP处理程序和类似的东西,但我们似乎无法卸载任何对App_Code文件夹的引用.
简而言之,是否可以让子应用程序不继承web.config文件的任何部分?如果没有,是否可以覆盖或强制孩子忽略父web.config文件中的设置?
谢谢
戴夫
解决方法
除了使用< clear />或者覆盖子web.config中的设置,您可以在父web.config中结合使用inheritInChildApplications设置.
例:
<location path="." inheritInChildApplications="false"> <system.web> <!-- ... --> </system.web> </location>
您可以围绕整个< system.web>包装该位置.或者只是在特定的部分.
一些链接了解更多信息:
> inheritInChildApplications on MSDN(阅读底部的社区内容以获取更多信息)
> StackOverflow:Avoid web.config inheritance in child web application using inheritInChildApplications
>博客文章:Stopping web.config inheritance