通常の方法で例外を処理する ASP.NET MVC アプリケーションがあります。可能な場合はそれらに対してコーディングを試み (null のチェック、TryParse の使用など)、それらをフロー制御としては使用しません (つまり、失敗を示す例外をスローする代わりに、失敗したメソッドから false を返します)。application_error でキャッチオール例外処理を行って、それまでに発生したすべてのものをキャッチします。
カスタム コントローラー ファクトリがあり、コントローラーを作成できなかった場合、HTTP 404 エラーで WebException をスローしていました。当社の企業セキュリティ チームは、既知の脆弱な URL を多数含む Web サイトをヒットする McAfee 製品を使用して Web アプリケーションを定期的にスキャンします。これらの URL のいずれもルートに一致しなかったため、毎分数百の 404 をスローし、アプリケーションの速度が低下してクロールしました。私たちはすぐにコードを取り出して 404 で例外をスローしましたが、現在、上級管理職は「メモリ リーク」 (サーバーの速度を低下させた原因は本質的にメモリの飽和であるため) や DOS などを懸念しています。
これで、例外が遅いことがわかりました。私はオンラインで見てきましたが、ガイドラインのほとんどは、遅いので(特に深いスタックで)、それらが起こらないようにするために本当に一生懸命努力するように言っています. これが悪いのか、それともコードに問題があるのか を判断するのに苦労しています。例外処理がこれほど悪い場合、asp.net ベースのアプリケーションの DOS が非常に簡単になるのではないでしょうか?
一般的な考えをいただければ幸いです。今、私は問題を回避しようとしています。