1

この記事に基づいて、私は独自のフィルターを実装し、MVC 4 Web API でのカスタム例外処理用ExceptionFilterAttributeにフィルターを登録しました。GlobalConfiguration

ただし、リクエストがフレームワークによって解決されたExceptionFilterAttribute、コントローラ アクションでスローされた例外に対してのみ呼び出されます。

コントローラー アクションが呼び出される前にスローされる例外のカスタム エラー処理も実装したいと考えています。たとえば、DelegatingHandler現在スローされている例外は、次の HTML を返します。

<!DOCTYPE html>
<html>
    <head>
        <title>Exception of type 'System.Exception' was thrown.</title>
        ...

このシナリオで独自のカスタム エラーを返すにはどうすればよいですか?

4

1 に答える 1

1

DelegatingHandler 例外が作成したフィルターから生成された場合は、別のフィルターを追加して、この SO answer に示されているように、これらの例外の一部を「トラップ」できます。

あなたが発見し、そのSO回答に記載されているように、Web APIパイプラインから実際に「トラップ」する例外は非常に限られています。あなたが説明していることを実行しようとする唯一のオプションは、この良い記事で示されてHttpMessageHandlerいるようにカスタムを作成することです。

于 2013-07-31T19:35:21.047 に答える