* customErrors設定 [#he1039df]

** customErrors設定とは? [#t2cd993d]
Web.configでcustomErrorsを有効にする事で、例外発生時(コントローラー内でのthrow new Exception、HTTPコード404/403/500等発生)のエラー処理を指定出来る。

** customErrors設定例 [#p2f75bb2]
 <configuration>
   <system.web>
     <customErrors defaultRedirect="~/Error/" mode="RemoteOnly">
       <error statusCode="404" redirect="~/Error/NotFound" />
     </customErrors>
   </system.web>
 </configuration>
- 上の場合、ErrorクラスとNotFoundメソッドを自作する必要がある。
上の場合、ErrorクラスとNotFoundメソッドを自作する必要がある。

*** 参考 [#vd0ae1b0]
http://msdn.microsoft.com/ja-jp/library/h0hfz6fc(v=vs.100).aspx

** customErrorsより優先されるエラー [#lac5db3a]
- コントローラー内でエラーが発生した場合、OnException()メソッドが呼ばれて、ここでエラー処理される。
- デフォルトでは、return View("Error")されて、Views\Shared\Error.cshtmlが表示される。
- また、全てのエラーを一括でキャッチするには、Gobal.asaxのApplication_Error()にエラー処理を書く。
- customErrorsは、上のようなOnException()やApplication_Error()に処理がない状態で例外が発生した場合に、customErrorsへHTTPリダイレクトされた上で実行される。

** customErrorsとhttpErrors [#f4e61f93]
http://stackoverflow.com/questions/2480006/what-is-the-difference-between-customerrors-and-httperrors

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS