web apiで発生しているすべての例外を1か所で処理してログに記録する方法が必要です。 ExceptionLoggerとExceptionHandlerの両方のメソッドをオーバーライドしますが、コードが破損してハンドリングメカニズムをトリガーしません。ASP.NET WEB API 2:例外ハンドラとロガーがすべてのエラーを処理しない
私は別のエラーを引き起こす同じAPIメソッドに持っている私のコントローラを変更した場合:
:ハンドラがエラーをキャッチしようとしている[RoutePrefix("api/Ads")]
public class AdsController : ApiController
{
public IHttpActionResult Get()
{
return Ok(Ad.GetAds());
}
public IHttpActionResult Get(object name)
{
return Ok();
}
}
この場合のエラーは次のとおりです。
Multiple actions were found that match the request:
上位レベルのWeb APIによって発生したエラーのみをExceptionLoggerおよびExceptionHandlerがキャッチしていますか?すべてのエラーを処理するにはどうすればよいですか?例外フィルタは追加する必要があるソリューションですか?
例外フィルタは既に追加されていますが、それも機能しません。私も自分の例外を作成して投げてみましたが、例外フィルタや例外ログをトリガしませんでした。私は何かが欠けているかもしれません。 – Coding
私は間違っているかもしれませんが、あなたの '複数のアクションがリクエストと一致することが判明しました:'エラーはコード内の処理によって処理されるとは思えません....本当に間違っている可能性があります。私はとにかくそれを期待しませんでした。 –
はい、アクションを実行する前に既に発生しているためです。しかし、どのようなメカニズムが "新しい例外をスローする"のようなアクション自体の中にスローされたエラーを処理しないのかという疑問。 – Coding