2011-08-17 35 views
9

什么是指向两个单独的部分用于在web.config中定义错误文档?web.config的System.webServer和System.web部分

<system.webServer> 
... 
    <httpErrors errorMode="Custom"> 
     <remove statusCode="404" subStatusCode="-1" /> 
     <error statusCode="404" prefixLanguageFilePath="" path="/ErrorPage_404.aspx" responseMode="ExecuteURL" /> 
    </httpErrors> 
... 
</system.webServer> 

<system.web> 
... 
    <customErrors defaultRedirect="/Forms/Errors/Error.aspx" mode="On"> 
     <error statusCode="404" redirect="/ErrorPage_404.aspx" /> 
    </customErrors> 
... 
</system.web> 

如果我删除第一节,IIS7不会显示错误页面。如果我删除第二个,我的VS调试器将不会显示错误页面。

+0

你是否将应用程序迁移到.Net Framework 4.0或IIS 7.5并且在IIS 6之前运行了int? – citronas

回答

7

我一直认为system.web适用于IIS6及以下版本,而system.webServer适用于IIS7 +,但实际上似乎真正的答案是system.web是通过处理程序映射为.aspx/.asp页面,其他一切都通过system.webServer。

Have a look at this webpage for a pretty clear explanation

相关问题