2016-10-14 11 views
0

パイプラインの早い段階で発生するWebApiプロジェクトのエラーについては、黄色の画面ではなくカスタムエラーページを返すようにします。Web API - カスタムエラー - 早期パイプライン

私はデフォルトのIExceptionHandlerを置き換えました。コントローラーで

  • メッセージハンドラクラスの内部エラー
  • エラーをルーティングに関連する例外フィルタ
  • 例外内

    • エラーを処理しない例外フィルター、より多くのエラーを処理する

      コンストラクタ

    ただし、すべての例外がIExを置き換えて処理されるわけではありませんceptionHandler

    など。 Application_BeginRequestにエラーを投げた場合(パイプラインの早い段階で発生したエラーの例)、これでは取得されず、黄色い画面が表示されます。カスタムエラーがオンになっていると、黄色の画面が表示されますが、それでも黄色い画面になります。

    すべてのエラー(これはパイプラインの早い段階でも)を処理して、カスタム例外ハンドラが起動したときのように正しい応答コードでカスタムJSONエラーを返すことができます。

    いくつかの記事 http://www.c-sharpcorner.com/article/exception-handling-in-asp-net-web-api/ https://www.exceptionnotfound.net/the-asp-net-web-api-exception-handling-pipeline-a-guided-tour/ https://www.jayway.com/2016/01/08/improving-error-handling-asp-net-web-api-2-1-owin/ (私はOWINを使用しますが、参考のために含まれていないよ)

    私はあなたが何ができるかのGlobal.asaxのApplication_Errorイベントで

  • +0

    私はあなたがハードにしようとしていると思います。あなたは何か間違って書いてあり、コードは生きていないでしょう。しかし、それについて間違っていることを喜んで –

    答えて

    0

    をエラーをキャッチすることができます空のオブジェクトを持つglobal.asaxのapplication_errorメソッドでjsonの応答を返すか、パラメータが0などです。