のモデルアイテムを必要とエラーが私のアプリケーションで発生するたびに、私は正しいエラーを表示することができないんだけどイベントビューアに表示されます。それの代わりに、私は次のエラーを取得する...辞書に渡さモデルアイテムは、「System.Web.Mvc.HandleErrorInfo」型であるが、この辞書はタイプ
モデルアイテムはタイプ「System.Web.Mvc.HandleErrorInfo」であるが、この辞書は「LayoutPageViewModel」
タイプのモデルアイテムが必要です
このエラーが発生するのはなぜですか(コントローラーがHandleErrorInfoタイプのモデルを元のビューに渡そうとしているためです)がわかりませんが、このエラーがイベントビューアーに表示されて本当の誤り。
だから、一連のイベントは、以下のとおりです。
- 例外は
- デフォルトのエラー処理は、タイプのモデルを渡すようにしようと、アプリケーションで発生した「System.Web.Mvc.HandleErrorInfo」受け入れるデフォルトのレイアウトページへdoesnのレイアウトは「HandleErrorInfo」
カスタムエラー500ページタイプのモデルを渡されているので、別の例外がアプリケーションで発生
- は(web.configファイルで指定)ヒットした 「LayoutPageViewModel」のモデル、 〜しない任意のレイアウトを参照:
エラーページは正しく表示されますが、イベントビューアの例外は正しくありません。
@{ Layout = null; }
Application_StartでHandleErrorAttributeフィルタのマスターとビューを設定しようとしましたが、イベントログに登録されているものがすべて停止しています。私はまた...コントローラに
protected override void OnException(ExceptionContext filterContext)
{
filterContext.Result = new ViewResult {
ViewName = "~/Views/Shared/Error.cshtml",
};
}
を、以下のメソッドを追加しようとしたが、それはHandleErrorAttributeの回避策と同じ結果を持っています。
誰もが、私はこの問題を回避できる方法のアイデアを持っていますか?あなたが最後のタイプベースの問題を引き起こす可能二次エラーが発生しているよう
この回答をお持ちですか? http://stackoverflow.com/questions/812235/error-handling-in-asp-net-mvc – Robert
はい、私はそれを試みましたが、私のカスタムエラー500ページにリダイレクトせず、イベントログに警告を記録しません。 –