关闭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中是支持此属性的)是关键属性,他表示是配置内容否集成到子应用中。