URL のルーティングを使用する C# Web フォーム ASP.NET 4.0 Web アプリケーションがあります。なんらかの理由で、web.config の system.web セクションで定義されたカスタム エラーが完全に無視され、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 例外を正しくログに記録することを完全に回避するという事実を除けば、小さな不便です。
編集:そのような提案を避けるために、customErrorsが機能しなくなった後にのみhttpErrors構成を追加したので、何もありません。