У меня есть веб-приложение ASP.NET 4.0 для веб-форм C #, которое по какой-то причине использует маршрутизацию для 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 перестало работать, чтобы у меня было что-нибудь.1013 *