[解決済み] ASP.NET MVCのHandleErrorについて
質問
どのようにすれば
[HandleError]
フィルタをどのように使用するのですか?
私はWeb.configファイルでcustomErrorsを設定しました。
<customErrors mode="On" defaultRedirect="Error.aspx">
<error statusCode="403" redirect="NoAccess.htm"/>
<error statusCode="404" redirect="FileNotFound.htm"/>
</customErrors>
で、コントローラクラスの上に[HandleError]をこのように記述します。
[HandleError]
public class DSWebsiteController: Controller
{
[snip]
public ActionResult CrashTest()
{
throw new Exception("Oh Noes!");
}
}
そして、自分のコントローラにこのクラスを継承させ、CrashTest()を呼び出します。 Visual Studioはエラーで停止し、f5を押して続行すると、Error.aspx?aspxerrorpath=/sxi.mvc/CrashTest(ここでsxiは使用するコントローラの名前です)にリルートされます。 もちろん、パスは見つからず、quot;Server Error in '/' Application."404が表示されます。
このサイトは preview 3 から 5 に移植されました。 エラー処理以外はすべて動作します (移植にそれほど多くの作業は必要ありませんでした)。 完全に新しいプロジェクトを作成すると、エラー処理は動作するようです。
アイデアはありますか?
--注意--。
この質問は現在3Kビューを超えているので、私が現在(ASP.NET MVC 1.0)使用しているものを入れておくと有益だと思いました。
の中に
mvc contribプロジェクト
には "RescueAttribute" という素晴らしい属性があります。
あなたもチェックしてみてください;)
どのように解決するのですか?
[HandleError]
クラス (またはアクションメソッド) に HandleError 属性のみを指定した場合、処理されない例外が発生すると、MVC はコントローラのビューフォルダで最初に "Error" という名前の対応するビューを探します。もしそこで見つからなければ、共有ビューフォルダ(デフォルトで Error.aspx ファイルがあるはずです)を探します。
[HandleError(ExceptionType = typeof(SqlException), View = "DatabaseError")]
[HandleError(ExceptionType = typeof(NullReferenceException), View = "LameErrorHandling")]
また、探している例外の種類に関する特定の情報を持つ追加の属性を積み重ねることができます。その時点で、デフォルトの "Error" ビュー以外の特定のビューに Error を指示することができます。
より詳細な情報については、以下を参照してください。 Scott Guthrie のブログ記事 をご覧ください。
関連
-
[解決済み] Razor View throwing "The name 'model' does not exist in the current context".
-
[解決済み] ファイルアップロード ASP.NET MVC 3.0
-
[解決済み] ASP.NET MVC - カスタムIIdentityまたはIPrincipalの設定
-
[解決済み] ASP.NET MVCでビューをコンパイルする
-
[解決済み] ELMAHをASP.NET MVCの[HandleError]属性で動作させる方法は?
-
[解決済み】サービスは常にDTOを返すべきですか、それともドメインモデルも返すことができますか?
-
[解決済み] [Solved] ASP.NET MVCコントローラメソッドからJSON.NETでシリアライズされたcamelCase JSONを返すにはどうすればよいですか?
-
[解決済み] ASP.NET MVCのモデルでUrlHelperを呼び出す
-
[解決済み] アクションリンクでエリア名を指定するには?
-
[解決済み] ASP.NET MVCにおけるエラーのログ記録
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] glyphicons-halflings-regular.woff2 not foundに関するエラーを削除する方法
-
[解決済み] データベースに 'AspNetRoles' という名前のオブジェクトがすでに存在します。
-
[解決済み] JsonResultが特殊文字(apostrophe)を \u0027 としてパースしています。
-
[解決済み] ASP.NET MVCアプリケーションで、デバッグ用の起動ページを設定するにはどうすればよいですか?
-
[解決済み] MVC 3 - 辞書に渡されたモデル項目の型は 'System.Collections.Generic.List`1 です。
-
[解決済み】1つのビューに複数のモデルを表示する
-
[解決済み】ASP.NET MVC 3 RazorでAjax.BeginFormを使用する。
-
[解決済み】MVCアプリケーションでデータをキャッシュする方法
-
[解決済み] MVCのHTMLヘルパーで生成されたHTML要素にclass属性を追加するにはどうすればよいですか?
-
[解決済み] Entity Frameworkのデータベースを再作成する方法は?