私はASP.NET Webアプリケーションを開発中です。私は、アプリケーション全体のロギングフレームワークを実装しています。ASP.NETの一般的なエラーページのベストプラクティス
ウェブアプリケーションは約7-8ページあり、簡単なCRUD操作Webアプリケーションです。
そのAzureホストアプリケーション。以下は、私がロギングと例外処理に従っているアプローチです。
1)Try ... Data Access LayerおよびClickイベントにブロックを追加しました。
2)エラーが発生すると、Globabl.asaxレベルまで例外を伝播し、Application_Errorイベントでエラーをイベントログとトレースログに記録します。
3)これをGlobal.asaxファイルに書き込んだ後、エラーページにリダイレクトして、ユーザーフレンドリなメッセージを表示し、失敗したページにリンクします。
4)これを行うには良いアプローチであるかどうかを知りたかっただけです。
ありがとうございました。
いいえ、私はすべての標準400+と500+エラーについては試していませんが、私はASP.NETのカスタムエラーページを使用しています。ただし、そうでない場合はDB接続がタイムアウトになります。データアクセスレイヤーにキャッチを持っていれば、そこで発生している興奮を知ることができます。 – sqlnewbie
DBExceptionのようなカスタム例外を実装し、Global.asaxレベルまでスローしました。タイプに基づいて、サーバーのDB接続に関するいくつかの問題を示すユーザーにメッセージを表示します。管理者に知らせてください。 Clickイベントに何か問題がある場合は、入力に関する問題を解決します。もう一度お試しいただくか、管理者にお問い合わせください。 これは良いアプローチですか? – sqlnewbie
例外に関する追加情報を伝えている場合は、カスタム例外に例外をラップすることは完全に容認された方法です。しかし、ユーザはなぜそれが失敗したのかを知る必要はなく、そのことを伝えるべきではない。ユーザーと直接対話したことがある場合は、メッセージが何と言っているかを常に忘れていることがわかります。だからこそ私は標準的なエラーページとヘルスモニタリングを提案します。エラーの詳細をログに記録するようにヘルスモニタリングを設定できます。また、例外が発生したときに電子メールを送信するようにヘルスモニタリングを設定することもできます。 – JamieSee