在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的。如果在 IIS 中没有将虚拟目录配置为应用程序,则可能导致此错误

在ASP.NET2.0中,如果根目录允许匿名用户访问,而根目录下的一个页面(如Info.aspx)必须要登录(假设登录页面为login.aspx)后才能访问,根目录下的web.config文件必须这样配置:
















































也就是在需要认证的页面配置节中不能配置authentication项,只能在在根目录中配置authentication项,Info.aspx从根目录继承. 否则会出现这样的错误: "在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的。如果在 IIS 中没有将虚拟目录配置为应用程序,则可能导致此错误 "

最后验证了一个是
zdyguilong(Keep Walking!)
回复:web.config配置问题

学习了,
ncpuam()
回复:web.config配置问题

节只能出现在根站点或应用程序站点中,而且如果根目录有了 节,那么子目录的就自动从根目录继承了,所以只能在根目
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
找了半天,发现原因是你创建的虚拟目录的下面一级没有创建,而且你的网站是移动了目录的。      
       
    如你的主网站是       localhost      
    在localhost下创建虚拟目录       指向       E:/web       命名为       WebDev      
    而你的网站工程是放在       E:/web/myweb下面。      
       
    整个目录为       //localhost/WebDev/myweb      
       
    这时       点虚拟目录的属性的话       WebDev是已经创建了的。      
    但是你的       myweb       目录属性没有创建,要手动自己创建。      
    创建了就没事了。      
       
    ps:这就看出如果你的虚拟目录直接指向你放网站工程的目录(E:/web/myweb的话就没这个问题。不过如果同时有几个网站工程在编写的话,指向WebDev就行了。创建新的项目的时候就可以用       localhost/WebDev/webapplication1来把工程文件放到       E:/web/webapplication1文件夹下,新创不需要设定虚拟目录创建应用程序  
这是我找到的答案,我试了一下发现是正确的,希望对有同样问题的有帮助。
 
  
 
minkingshine
sofen
等 级:
 发表于:2007-04-16 22:30:354楼 得分:0
看看你的网站的IIS   运行池启动了没有     要是没有启动的话也会出现这样的情况
 
  
 
liuluo520
孤单一吻
等 级:
 发表于:2007-04-18 14:28:305楼 得分:0
将BIN目录放到站点根目录下

你可能感兴趣的:(iis,authentication,authorization,forms,compilation,path)