問題タブ [handleerror]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
asp.net-mvc - ASP.NET MVC ハンドルエラー
[HandleError]
asp.net MVC Preview 5 でフィルターを使用するにはどうすればよいですか?
Web.config ファイルに customErrors を設定しました
[HandleError] をコントローラー クラスの上に次のように配置します。
次に、コントローラーにこのクラスを継承させ、コントローラーで CrashTest() を呼び出します。エラーで Visual Studio が停止し、f5 キーを押して続行すると、Error.aspx?aspxerrorpath=/sxi.mvc/CrashTest に再ルーティングされます (sxi は使用されているコントローラーの名前です。もちろんパスが見つからず、 「「/」アプリケーションでサーバー エラーが発生しました。」 404.
このサイトはプレビュー 3 から 5 に移植されました。エラー処理以外はすべて実行されます (移植する作業はそれほど多くありませんでした)。完全な新しいプロジェクトを作成すると、エラー処理が機能するようです。
アイデア?
--注--
この質問には現在 3K を超えるビューがあるため、現在使用しているもの (ASP.NET MVC 1.0) を入れると有益だと思いました。mvc contrib プロジェクトには、「RescueAttribute」という素晴らしい属性があります。おそらくそれもチェックしてみてください ;)
asp.net-mvc - MVC ベータ [HandleError] 属性 (ヘルプが必要)
「ExceptionType」パラメーターの有無にかかわらず、これを試しました。Views/Shared フォルダーと Views/thisController フォルダーの両方に Error.aspx ページがあります。しかし、これを実行するたびに、「'/' アプリケーションでサーバー エラーが発生しました。」Views/Shared の素敵なページではなく、エラー ページ。
ここで何がうまくいかないのでしょうか?
asp.net-mvc - ASP.Net MVC HandleErrorが500内部サーバーエラーをスローする
コントローラーに次の HandleError フィルターがあります。
customErrors がオンになるように Web.Config をセットアップしました。私が抱えている問題は、Visual Studio からローカルでアプリを実行すると、HandleError フィルターが正常に動作することですが、それをサーバーにデプロイすると、500 内部サーバー エラーが表示され、エラー ビューを表示できないことを示します。見つかった。
以前に誰かがこれに遭遇したことがありますか?ルーティングが問題の根本原因である可能性があるのではないかと疑っています (hoho)。サイトは、wwwroot 自体ではなく、Web ルートのディレクトリに展開されるため、IIS がエラー ファイルを見つけられない可能性があります。
asp.net-mvc - 属性はまったく機能していないようです
コントローラー アクションで [HandleError] 属性を使用する際に問題が発生しています - まったく機能していないようです (つまり、フィルターが存在するかどうかは問題ではありません - 同じ結果が得られます...)。例外がスローされると、カスタム ビューではなく、「/」アプリケーション エラー ページに標準の赤い色調のサーバー エラーが表示されます。
SO でこの件に関する他のスレッドをいくつか見つけました。ほとんどの場合、web.config で customErrors オプションを On に設定すると問題が解決したようです。私には向いていないので、別の解決策を見つける必要があります。
私のコントローラーアクション:
私のweb.configファイルで
Error.aspx ファイルも Shared ディレクトリにあることを確認しました。私は何が欠けていますか?
ASP.NET MVC RC Refresh を実行しています。
asp.net-mvc - ASP.NET MVC HandleError が機能しない (customErrors が「オン」に設定されている)
MVC アプリを[HandleError]
適切に使用するように設定したと思います。これは私のコントローラーです:
そして、タグを「オン」に設定しました。customErrors
web.config
ただし、例外でイエロー スクリーン オブ デスが表示されます。Toss()
アクションにブレークポイントを設定すると、true に設定されていることHttpContext.IsCustomErrorEnabled
が示されます。
私たちは View Engine で何もしてBaseController
いませんし、何もいじっていません (また、View Engine を拡張しない他のコントローラーにも同じ問題があります)。
私は Windows XP で開発を行っていますが、アプリがサーバー 2003 ボックス (IIS 6) に展開されたときに同じ問題が発生します。
ページに例外があるとは思わないerror.aspx
:
異なる可能性があることの 1 つは、このアプリが MVC Beta が最新バージョンであったときに作成され、リリース時に RC にアップグレードされ、次に RTM にアップグレードされたことです。そこから残っているいくつかの奇妙な設定があったのでしょうか?
私はこれを他のアプリで動作させることができるので、少し当惑しています.
asp.net - ASP.NET MVC エラー処理 - ビューがレンダリングされない、Web.config の問題?
コントローラーの 1 つで [HandleError] 属性を指定して、エラーが発生した場合にレンダリングするビューを指定しています。
また、web.config に次の構成セクションがあります。
何が起こっても、mvc はビューを customErrors セクションにレンダリングします。何らかの理由でビューをオーバーライドできません。
また、ビューがレンダリングされるまでに、すべてのコンテキスト情報が失われました。
私が何を間違っているのか、または他の誰かがこの問題を経験したことがあるかどうかはわかりません。
ps:リダイレクトしようとしているビューにエラーがないことも確認しました。非常にイライラする問題!
asp.net-mvc - ASP.NET MVC のユーザー フレンドリーな 401 エラー
この投稿を示唆するような方法で、 ASP.NET MVC サイトにエラー処理を実装しました。
404 エラーで、すべて正常に動作します。しかし、 401エラーに対してユーザーフレンドリーな画面をどのように正しく表示するのでしょうか? それらは通常、内部で処理できる例外をスローしませんApplication_Error()
が、アクションは HttpUnauthorizedResult を返します。Application_EndRequest()
考えられる方法の 1 つは、メソッドの最後に次のコードを追加することです。
ただしApplication_EndRequest()
、Context.Session == null内でerrorController.Execute()
は、デフォルトの TempDataProvider を使用できないため失敗します。
では、ASP.NET MVC アプリケーションで 401 を「ユーザー フレンドリーに処理」するためのベスト プラクティスをいくつか提案できますか?
ありがとう。
asp.net-mvc - ViewData を HandleError ビューに渡すにはどうすればよいですか?
私の Site.Master ファイルには、3 つの単純な ViewData パラメーターがあります (ソリューション全体で 3 つだけです)。これらの ViewData 値は、アプリケーションのすべてのページにとって重要です。これらの値は Site.Master で使用されるため、OnActionExecuting メソッドをオーバーライドして、ソリューション内のすべてのコントローラーのすべての Action メソッドにこれらの値を入力する抽象 SiteController クラスを作成しました。
私が直面している問題は、HandleErrorAttribute が SiteController クラス レベルの属性から開始されたときに、これらの値が MyErrorView (および最終的には Site.Master) に渡されないことです。私の問題を示す簡単なシナリオを次に示します。
SiteController の OnException() メソッドもオーバーライドして ViewData パラメータを埋めようとしましたが、うまくいきませんでした。:(
この場合、ViewData パラメータを Site.Master に渡す最良の方法は何ですか?
c# - ASP.NETMVCHandleErrorおよび他の属性を使用した操作の順序
HandleError属性を機能させようとしていますが、ある種の特別な状況のために問題が発生しています。
データベース内のIPのブラックリストをチェックし、文字通り例外をスローする別の属性があります。HandleError属性でその例外をキャッチし、エラーページにルーティングすることを望んでいましたが、機能していません。
操作の順序は私が必要としているものかもしれないと思いましたが、それもうまくいかないようです...私は試しました:
と:
どちらも例外をキャッチしていないようです。何か提案があれば、よろしくお願いします!