把nfig文件从根目录移到子目录Website内报错It is an error to use a section registered as allowDefinition=MachineToApplication beyond application level
从网上找了篇英文文章
翻译
你可能在浏览一个ASPNET网页的时候遇到这个错误
错误提示是编译信息提示虚目录在IIS中不能配置
然而这种错误主要在两种情形出现
当你使用Visual Studio创建一个web运用他会自动创建虚目录并将它配置成一个应用
但是当你手动创建虚目录它不会自动配置成一个应用所以你与遇到这个错误而不能浏览页面你会得到上面的错误提示这是情形一
解决它的方法是右击虚目录选择属性点击应用傍边的创建
当在你的应用程序中有子目录的时候你可以将nfig放在子目录中但是一些节点是不能再这个nfig中设置的比如authentication session state (你会在错误提示信息中看到这些节点的行数)原因是这是节点设置不能代替所有子节点内的web应用的设置除非这些子目录也被配置成一个应用
很多时候我们都有为了处理子目录中的应用而在子目录中添加一个nfig的经历默认情况我们可以在应用程序的根目录下通过设置路径和权限获取这个nfig如下
<location path=Admin>
<systemweb>
<authorization>
<allow roles=administrators /><deny users=* />
</authorization>
</systemweb>
</location>
如果你想在子目录中设置一个nfig文件你可以这样设置
<configuration>
<systemweb>
<authorization>
<allow roles=administrators />
<deny users=* />
</authorization>
</systemweb>
</configuration>