MVC 5アプリケーションでHandleErrorAttributeを使用する最良の方法について質問があります。 私たちが知っているように、我々はそのようなグローバルフィルタにこの属性を追加することができます。ASP.NET MVCアプリケーションでHandleErrorAttributeを使用する
filters.Add(new HandleErrorAttribute{View = "Error"});
これは、未処理の例外は、アプリケーションの任意のレベルでスローするたびに表示「エラー」を表示するようにアプリを伴います。 しかし、他のグローバル認可またはアクションフィルタにいくつかのロジックが含まれていて、例外が発生した場合、最初に例外が発生したときよりもエラービューにリダイレクトしようとすると、もう一度他のフィルタが実行を開始し、このループを終了するアプリを避けるためにasp.net。 このような動作を避けるために、このHandleErrorAttributeを使用する最良の方法は? ありがとう!
編集:私はこれがHandleErrorAttributeの通常の動作ではありませんので、私は、カスタムルートを使用する場合にのみ、このループが私のために起こることがわかったいくつかのデバッグ後 f.e.
{key}/{controller}/{action}
と、いくつかのエラーは、フィルタロジックで発生した場合に、そのアプリが表示をErrorにリダイレクトしようとしたが、再び別のフィルタロジックはexectueを開始し、私はそうであっても、{キー}ルートのパラメータに「エラー」の値を参照してくださいそれは望ましくない行動です。 デフォルトルートを使用する場合
{controller}/{action}
これは起こらず、グローバルフィルタロジックを2回実行することなくエラービューに正確になります。
ありがとうございます!これは素晴らしいアプローチです。 – igorGIS
ELMAHはどうですか? –
@Murali正直言ってELMAHのファンではありません – mattytommo