关闭web.config的继承

web.config默认是有继承关系的,一个站点的主应用(根目录)的web.config,默认情况下会影响到该站点下的虚拟目录和子应用程序。

关闭web.config方法很简单,在根目录的web.config文件中,把不希望配置的内容放到如:<location path="." allowOverride="false" inheritInChildApplications="false"></location>标签中即可。可以包裹一个模块,也可以是多个模块。

<location path="." allowOverride="false" inheritInChildApplications="false">
  <system.web.webPages.razor>
    ...
  </system.web.webPages.razor>
  <system.webServer>
    ...
  </system.webServer>
  <system.web>
    ...
  </system.web>
</location>
  

标签的几个属性相对简单,allowOverride是否允许覆盖,另一个inheritInChildApplications(vs编辑web.config时可能提示不存在,不用管他,因为在MSDN中是支持此属性的)是关键属性,他表示是配置内容否集成到子应用中。

原文地址:https://www.cnblogs.com/zhangpengshou/p/3094897.html