尝试访问页面时出现ASP.NET错误

时间:2009-04-02 22:11:16

标签: asp.net

我得到了这个奇怪的错误:

任何帮助都会很棒?

这是错误:

  服务器错误。      

配置错误

     

描述:处理为此请求提供服务所需的配置文件时发生错误。请查看下面的具体错误详细信息并相应地修改配置文件。

     

分析程序错误消息:在应用程序级别之外使用注册为allowDefinition ='MachineToApplication'的部分是错误的。此错误可能是由于虚拟目录未在IIS中配置为应用程序。

     

来源错误:

Line 33:
Line 34:
Line 35:    <roleManager enabled="true">
Line 36: 
Line 37:       <providers>  
     

源文件: C:\ Websites \ ADHS \ andyhollis.co.uk \ rugby \ admin \ web.config   行: 35

     

显示其他配置错误:

     

在应用程序级别之外使用注册为allowDefinition ='MachineToApplication'的部分是错误的。此错误可能是由于虚拟目录未在IIS中配置为应用程序。

     

(C:\网站\ ADHS \ andyhollis.co.uk \橄榄球\管理员\的web.config   第43行

     

在应用程序级别之外使用注册为allowDefinition ='MachineToApplication'的部分是错误的。此错误可能是由于虚拟目录未在IIS中配置为应用程序。

     

(C:\网站\ ADHS \ andyhollis.co.uk \橄榄球\管理员\的web.config   第67行

     
     

版本信息:Microsoft .NET   框架版本:2.0.50727.3053;   ASP.NET版本:2.0.50727.3053

5 个答案:

答案 0 :(得分:3)

当您在应用程序根目录的子目录中有Web.config时,有时会发生这种情况。

或者,您可能需要进入虚拟目录并将其正确配置为应用程序(如错误消息所述)。

答案 1 :(得分:2)

正如错误消息中所述:
“此错误可能是由于虚拟目录未在IIS中配置为应用程序引起的。”

将其配置为应用程序,一切都会好的。

IIS 5/6:
http://msdn.microsoft.com/en-us/library/zwk103ab.aspx

IIS 7:
http://mvolo.com/blogs/serverside/archive/2007/07/12/Creating-IIS7-sites_2C00_-applications_2C00_-and-virtual-directories.aspx

答案 2 :(得分:2)

基本上,ASP.NET允许分层配置文件,从machine.config和隐藏在框架的config文件夹中的许多基于安全性的web.config文件开始,然后从Web应用程序的根目录下载到子文件夹。< / p>

但是,某些元素只能在每个应用程序的根web.config中覆盖。这些包括(但不限于):

  • 验证
  • 资料
  • RoleManagement
  • SECURITYPOLICY
  • 网站地图

web.configuration元素的完整列表可以是found under here,每个元素都有元素信息部分,其子部分为“可配置位置”。如果它显示“虚拟或物理目录级Web.config”,那么您可以将该元素放在任何位置。

由于这可能是您的应用程序的管理屏幕,您可能不希望将该目录作为一个应用程序 - 如果您这样做,您将无法访问其下面的主应用程序,这不是你想要什么,你可能还需要在其下有一个单独的/ bin文件夹,管理员.dll。

您最好在您网站的根web.config中配置RoleManagement(在/或者如果Rugby是一个应用程序,然后是/ Rugby)并且只有你需要的元素(例如,在/ Rugby / Admin。中的web.config中锁定用户的autherization元素。

例如,在我的某个网站上,admin文件夹中的网络配置只是:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <system.web>
    <authorization>
      <!-- Allow users in role "Editor" -->
      <allow roles="Editor" />
      <!-- Block everyone else -->
      <deny users="*" />
    </authorization>
  </system.web>
</configuration>

答案 3 :(得分:2)

可能是因为您不小心将web.config上传到非根目录,或者因为包含web.config的目录未配置为应用程序根目录。

答案 4 :(得分:0)

看起来您未发布的错误已更改。现在它是“500内部服务器错误”。这通常意味着未处理的异常。查看Windows事件日志以查看发生的情况。