Приложение ASP.NET разместило на IIS7, который игнорирует пользовательские ошибки и отступает к ошибкам IIS

У меня есть веб-формы C# ASP.NET 4,0 веб-приложения, которые используют Маршрутизацию для URL по некоторым причинам, пользовательские ошибки, определенные в system.web разделе моего web.config, полностью проигнорированы, и это отступит ошибки IIS.

Это полностью проигнорировано

  <system.web>
    <customErrors mode="On">
      <error statusCode="500" redirect="~/Error" />
      <error statusCode="404" redirect="~/404" />
      <error statusCode="403" redirect="~/Error" />
    </customErrors>
  </system.web>

Эта часть вступает во владение

  <system.webServer>
    <httpErrors>
      <!--<clear />-->
      <remove statusCode="500" subStatusCode="-1" />
      <remove statusCode="404" subStatusCode="-1" />
      <error statusCode="404" subStatusCode="-1" path="/App1/404" responseMode="Redirect" />
      <error statusCode="500" prefixLanguageFilePath="" path="/App1/Error" responseMode="Redirect" />
    </httpErrors>
  </system.webServer>

Это было бы незначительным неудобством за исключением того, что фактом оно отступает к собственному компоненту IIS вместо моего приложения, оно полностью обходит Elmah, регистрирующий мои 404 исключения правильно.

Править: Только для предотвращения любых предложений такого я только добавил httpErrors конфигурацию после того, как customErrors прекратил работать так, у меня будет что-либо.

12
задан Chris Marisic 13 July 2010 в 12:11
поделиться

1 ответ

Чтобы отключить сообщения об ошибках IIS, вы должны установить

  Response.TrySkipIisCustomErrors = true;

в вашей странице ошибок. После этого сообщения об ошибках будут отображаться без проблем.

14
ответ дан 2 December 2019 в 05:26
поделиться
Другие вопросы по тегам:

Похожие вопросы: