对于configSections,web.config inheritInChildApplications =“false”?

时间:2012-08-03 19:44:24

标签: c# iis inheritance web-config location

我在IIS 7上有一个.NET 4.0应用程序,它包含一个嵌套的.NET 2.0应用程序。问题是嵌套的.NET 2.0应用程序在web.config的<configSections>内有system.web.extensions sectionGroup,而.NET 4.0父应用程序machine.config也包含那些sectionsGroups。这会导致状态码500服务器错误。

注释掉子应用程序web.config中的system.web.extensions sectionGroup,但不能用于我们的设置。

如何阻止在子应用程序中继承父web.config?我已经看到<location path="." inheritInChildApplications="false">在以前的.NET版本中被使用了,但是我该如何包装location元素呢?

Intellisense向我显示“不允许使用inheritInChildApplications属性”,并且在我放置它的位置似乎并不重要。

2 个答案:

答案 0 :(得分:4)

我们将所有不希望继承的设置包装在空位元素中:

<location inheritInChildApplications="false">

Intellisense抱怨它,但似乎在生产模式下运行良好。

this article中有一些很好的附加信息。

答案 1 :(得分:0)

本案例中的解决方案是修改我的测试环境以避免configSection冲突。对于这场冲突似乎没有真正的解决方案。见这里:How to stop inheritance of configSections in Web Config