次の 2 つの方法を使用して、MVC4 アプリケーションのエラー ページをカスタマイズしようとしています。
1.私は次のケースをカバーしましたApplication_Error
:
RouteData routeData = new RouteData();
routeData.Values.Add("code", errorCode); //this code is from generated exception
routeData.Values.Add("action", "Index");
routeData.Values.Add("controller", "Error");
IController errorController = new ErrorController();
errorController.Execute(new RequestContext(new HttpContextWrapper(Context), routeData));
2.「キャッチオール」ルートをルートテーブルに追加しました:
RouteHelper.MapRoute(
"CatchAll",
"{*catchAll}",
defaults: new { controller = "Error", action = "Index", code = "404" }
);
ただし、次のように URL を入力すると、まだ黄色の死の画面が表示されます (最後の文字に注意してください)。
localhost/Home/Index.
ランタイムエラー
説明: リクエストの処理中に例外が発生しました。さらに、最初の例外のカスタム エラー ページの実行中に別の例外が発生しました。リクエストは終了しました。
どんな YSOD もトリガーすべきだと思っていましApplication_Error
たが、そうではありません。私は何が欠けていますか?