之所以会出现这种情况,起应是下面这段代码:<location path="SearchCars.aspx">
.....
<authentication mode="Forms">
      <forms name="CarRentalReservatrionAuth" loginUrl="Login.aspx" protection ="All"
        path="/"></forms>
    </authentication>
    <authorization>
      <deny users="?"/>
    </authorization>
....
</location>
现在运行SearchCars.aspx页面就会出现问题: "在应用程序级别之外使用注册为 allowDefinition='MachineToApplication' 的节是错误的。如果在 IIS 中没有将虚拟目录配置为应用程序,则可能导致此错误。"然后我就去求助,得到的答案就是标题上那个,最后还是没有解决。

解决方案 »

  1.   

    IIS的所谓匿名访问是OS帐户,和ASP.NET身份验证是完全不同的帐户系统,两者根本没关系...错误提示也跟这个没关系...
      

  2.   

    两个概念allowDefinition='MachineToApplication在IIS将该目录做成应用程序:打开IIS —> 默认Web站点 —> 找到该目录右键打开属性页 —> 目录(或虚拟目录)卡 —> 在下半部分“应用程序设置”处点第一项的“创建”,把该目录做成应用程序。  
    在IIS中把站点主目录指向Web.config文件所在的文件夹。
    当前项目已经存在了一个web.config,也就是说再添加该项目时,就会继承该web.config,如果再加的话,就会发生冲突 IIS中 点击 你的 站点文件夹 -> 右键 属性-> 创建
    (如果你同时装了多个版本的.net 应该在ASP.NET栏 选择相应的版本)