Разделы System.webServer и System.web файла web.config - PullRequest
9 голосов
/ 17 августа 2011

Какой смысл иметь два отдельных раздела для определения документов об ошибках в 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>

и

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

Если удалить первый раздел, IIS7 не будет отображать ошибкустраницы.Если я удалю второй, мой отладчик VS не будет отображать страницы ошибок.

1 Ответ

7 голосов
/ 28 октября 2011

Я всегда думал, что system.web применяется к IIS6 и ниже, в то время как system.webServer применяется к IIS7 +, но на самом деле кажется, что реальный ответ заключается в том, что system.web предназначен для страниц .aspx / .asp через его отображение обработчика, а все остальное проходит через system.webServer.

Посмотрите на эту веб-страницу для довольно четкого объяснения .

...