如何在IIS上使用自定义错误

时间:2012-07-25 09:14:47

标签: asp.net visual-studio-2010 iis-7 webforms web-config

我在asp.net Web应用程序中修改了我的web.config文件,以便显示自定义错误页面:

<configuration>
    <system.web>
       ...snip
        <customErrors mode="On" defaultRedirect="WebForms/ErrorPage.aspx">
          <error statusCode="404" redirect="WebForms/ErrorPageNotFound.aspx" />
        </customErrors>        
    </system.web>  
</configuration>

当我在IIS上运行该站点时,我收到以下错误:

Error code: 0x800700b7
Config section 'system.web/customErrors' already defined. 
Sections must only appear once per config file. 
See the help topic <location> for exceptions 

显然我在这里有一些配置层次结构,但我不知道我需要查看哪个文件(我的机器上有276个web.config文件) - 有人能指出我正确的方向。

当我找到该文件时,我可以只删除顶级customErrors部分,或者这会导致同一台机器上没有定义customErrors的其他Web应用程序出现问题?

1 个答案:

答案 0 :(得分:1)

应在根web.config

上修改该部分

如果您收到该错误,也许您在主应用程序的子目录中有几个web.config,您应该开始检查它们以删除它们

  

显然我在这里有一些配置层次结构,但我不知道我需要查看哪个文件(我的机器上有276个web.config文件) - 有人能指出我正确的方向。

为什么不简单地使用Windows搜索来查找包含字符串 customErrors

的文档

启用Windows 7高级搜索:

http://answers.microsoft.com/en-us/windows/forum/windows_7-files/in-windows-7-i-want-to-search-for-all-files/aadfe1f1-4a33-406b-8e72-bb920efa4f30

配置文件层次结构

  1. 全球机器。 <windir>\Microsoft.NET\Framework\<ver>\Config\Machine.config
  2. Root Web配置。 <windir>\Microsoft.NET\Framework\<ver>\Config\Web.config
  3. 网站。 <wwwroot>\Web.config
  4. 网络应用程序。 <wwwroot>|IIS Web Site path\<webapp>\Web.config
  5. 文件夹。 <wwwroot>|IIS Web Site path\<webapp>\<dir>\Web.config