ASP.NET MVCのエラーページを使うにはcustomErrorsのmodeをOnにする
<configuration>
<system.web>
<customErrors defaultRedirect="~/Error/" mode="RemoteOnly">
<error statusCode="404" redirect="~/Error/NotFound" />
</customErrors>
</system.web>
</configuration>
- ASP.NET MVCのエラーページを使う場合、Web.configで以上のように設定する。
- 上の場合、ErrorクラスとNotFoundメソッドを自作する必要がある。
customErrorsより優先されるエラー
- コントローラー内でエラーが発生した場合、OnException()メソッドが呼ばれて、ここでエラー処理される。
- デフォルトでは、return View("Error")されて、Views\Shared\Error.cshtmlが表示される。
- また、全てのエラーを一括でキャッチするには、Gobal.asaxのApplication_Error()にエラー処理を書く。
- customErrorsは、上のようなOnException()やApplication_Error()に処理がない状態で例外が発生した場合に、customErrorsへHTTPリダイレクトされた上で実行される。
customErrorsとhttpErrors
http://stackoverflow.com/questions/2480006/what-is-the-difference-between-customerrors-and-httperrors