Bagaimana cara menangkap semua pengecualian tidak tertangani yang terjadi di ASP.NET Web Api sehingga saya bisa mencatatnya?
Sejauh ini saya sudah mencoba:
- Buat dan daftarkan
ExceptionHandlingAttribute - Terapkan
Application_Errormetode diGlobal.asax.cs - Berlangganan
AppDomain.CurrentDomain.UnhandledException - Berlangganan
TaskScheduler.UnobservedTaskException
The ExceptionHandlingAttributeberhasil menangani pengecualian yang dilemparkan dalam metode aksi controller dan filter tindakan, tetapi pengecualian lainnya tidak ditangani, misalnya:
- Pengecualian dilempar ketika
IQueryabledikembalikan oleh metode tindakan gagal dijalankan - Pengecualian dilemparkan oleh penangan pesan (yaitu
HttpConfiguration.MessageHandlers) - Pengecualian diberikan saat membuat instance pengontrol
Pada dasarnya, jika pengecualian akan menyebabkan 500 Internal Server Error dikembalikan ke klien, saya ingin itu masuk. Menerapkan Application_Errormelakukan pekerjaan ini dengan baik di Formulir Web dan MVC - apa yang dapat saya gunakan di Api Web?