web.config的System.webServer和System.web部分

Riz*_*Riz 9 iis error-handling configuration web-config

有什么指向在web.config中定义错误文档的两个单独部分?

<system.webServer>
...
   <httpErrors errorMode="Custom">
      <remove statusCode="404" subStatusCode="-1" />
      <error statusCode="404" prefixLanguageFilePath="" path="/ErrorPage_404.aspx" responseMode="ExecuteURL" />
   </httpErrors>
...
</system.webServer>
Run Code Online (Sandbox Code Playgroud)

<system.web>
...
   <customErrors defaultRedirect="/Forms/Errors/Error.aspx" mode="On">
      <error statusCode="404" redirect="/ErrorPage_404.aspx" />
   </customErrors>
...
</system.web>
Run Code Online (Sandbox Code Playgroud)

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

Hen*_*y C 7

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

请查看此网页以获得非常明确的解释.