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

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

<?xml version="1.0"?>

<configuration>
<appSettings>
</appSettings>
<connectionStrings>
</connectionStrings>

<system.web>
<compilation debug="true"/>

<!--<authentication mode="Windows"/>-->
<authentication mode="Forms">
<forms loginUrl="login.aspx" protection="All" path="/" timeout="30"/>
</authentication>

<authorization>

<!--允许匿名-->
<allow users="?"/>

</authorization>

</system.web>


<location path="Info.aspx">
<system.web>

<!--认证项配置(在为一个单独页面指定认证信息时,authentication节只能从这个目录继承,不能单独设置)-->
<!--
<authentication mode="Forms">
<forms name=".www.cnpp.info" loginUrl="login.aspx" protection="All" path="/" timeout="30"/>
</authentication>
-->

<!--用户访问控制-->
<authorization>

<!--阻止匿名-->
<deny users="?"/>

</authorization>
</system.web>
</location>


</configuration>



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

最后验证了一个是<authentication> <form 节只能出现在根站点或应用程序站点中
zdyguilong(Keep Walking!)
回复:web.config配置问题

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

<authentication> <form>节只能出现在根站点或应用程序站点中,而且如果根目录有了<authentication> <form>节,那么子目录的就自动从根目录继承了,所以只能在根目
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
找了半天,发现原因是你创建的虚拟目录的下面一级没有创建,而且你的网站是移动了目录的。      
       
    如你的主网站是       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目录放到站点根目录下

尚未配置为Web项目XXXX指定的本地IIS URL HTTP://localhost:…… .要打开此项目,需要配置虚拟目录……

开始在网上找了资料: 其一:是直接打开vs,然后在文件菜单,然后打开那里点击网站,然后打开你所要打开的网站,这个办法可行,是可以打开 但是,我的项目里面出现很多错误。 其二:机器装了...
  • wanlaoma
  • wanlaoma
  • 2014年02月09日 23:17
  • 12762

应用程序池自动关闭,应用程序池 被自动禁用,原因是为此应用程序池提供服务的

 应用程序池自动关闭 Posted on 2011-11-08 17:25 地菜 阅读(4378) 评论(0) 编辑 收藏 defaultapppool,应用程序池自动...
  • minsenwu
  • minsenwu
  • 2015年03月04日 16:02
  • 11616

IIS - 虚拟目录与应用程序的异同

在Windows 7 IIS7中,对服务器建立站点后,有二种添加子站点的方式 A. 虚拟目录 B. 应用程序 简单总结下二者之间的异同 A.虚拟目录     虚拟目录是指在站点下建立...
  • xiaoqijun
  • xiaoqijun
  • 2013年11月17日 20:48
  • 8574

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

这个问题是调试从服务器拷贝过来的网站时遇到。 网站目录结构大致如下:      一般情况下我们的网站都是只有一个Web.config文件。      很明显在上图中WebSite5下面有个W...
  • DongGeGe214
  • DongGeGe214
  • 2015年05月12日 18:14
  • 1107

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

解决方案一:导致你这个问题,是因为你的虚拟目录路径设置不正确,路径设置到你的工程名即可. 或是你的虚拟目录别名...多少有影响..   我之前都是出这样的问题,这是自身经验...你试试. 把I...
  • fan325
  • fan325
  • 2011年09月08日 12:24
  • 1566

WCF 在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的。

错误信息如下:“/”应用程序中的服务器错误。 配置错误 说明: 在处理向该请求提供服务所需的配置文件时出错。请检查下面的特定错误详细信息并适当地修改配置文件。 分析器错误消息: 在应用...
  • xunzaosiyecao
  • xunzaosiyecao
  • 2015年08月01日 16:14
  • 1561

VS2008在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的解决方案

在应用程序级别之外使用注册为allowDefinition='MachineToApplication' 的节是错误的 在应用程序级别之外使用注册为allowDefinition='Machin...
  • xkl7111
  • xkl7111
  • 2012年05月05日 19:17
  • 883

如果在IIS中没有将虚拟目录配置为应用程序,则可能导致此错误

转自:http://hi.baidu.com/lqs0112/item/5ac83b846d1903ddd0f8cd2f 在 应用程序级别之外使用注册为allowDefinition='Machin...
  • grass_dcm
  • grass_dcm
  • 2012年08月19日 20:20
  • 3592

在 IIS 中将虚拟目录配置为应用程序

从其他机器的一个程序在本机打开,报错提示为“在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的。如果在 IIS 中没有将虚拟目录配...
  • wangwenjing90
  • wangwenjing90
  • 2011年10月30日 17:06
  • 12317

IIS服务器无法加载应用程序 '/LM/W3SVC/1/ROOT'。错误是 '没有注册类别

================================================================================== 问题: IIS服务器无法加载应...
  • nube163
  • nube163
  • 2011年10月08日 17:32
  • 435
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的。如果在 IIS 中没有将虚拟目录配置为应用程序,则可能导致此错误
举报原因:
原因补充:

(最多只允许输入30个字)