1

デフォルトルートを使用する

  routes.MapRoute(
      "Admin",                                              // Route name
      "Admin/{action}",                           // URL with parameters
      new { controller = "Admin", action = "Index" }  // Parameter defaults
  );

アプリケーションの多くのルート (約 90%) が機能しているので、問題ありません。

ユーザーが を入力する/logon/strangerouteと、MVC offcourse がエラーをスローしstrangerouteますlogoncontroller

ですべての例外ハンドラーをキャッチするglobal.asax.csと、ルーティング エラー (これをルーティング エラーと呼びます) と別のエラー (コードの残りの部分でスローされる) の違いがわかりません。

ルートでエラーが発生した場合、ほとんどの場合は 404 エラーであり、ユーザーを通常の一般的なエラー ページではなく 404 ページにリダイレクトしたいため、エラーの種類を区別したいと思います。

解決策の 1 つは、すべてのページのすべてのルートを作成し、既存のデフォルト ルートを破棄してキャッチオール ルートを実装することですが、URL ごとに個別のルートを作成することは避けたいと思います。

これを行う別の方法はありますか?

4

1 に答える 1

1

キャッチした例外がHttpExceptionであるかどうかをテストし、それが 404 であるかどうかを確認するためにGetHttpCodeメソッドを使用します。

于 2012-06-29T12:39:13.873 に答える