Pada dasarnya:
Gunakan IncludeErrorDetailPolicy
sebaliknya jika CustomErrors
tidak menyelesaikannya untuk Anda (mis. Jika Anda ASP.NET stack> 2012):
GlobalConfiguration.Configuration.IncludeErrorDetailPolicy
= IncludeErrorDetailPolicy.Always;
Catatan: Hati-hati mengembalikan info kesalahan terperinci dapat mengungkapkan informasi sensitif ke 'peretas'. Lihat komentar Simon pada jawaban di bawah ini.
TL; versi DR
Bagi saya CustomErrors
tidak terlalu membantu. Sudah diatur ke Off
, tapi saya masih mendapat an error has occurred
pesan sangat sedikit . Saya kira jawaban yang diterima adalah dari 3 tahun yang lalu yang sudah lama ada di web word saat ini. Saya menggunakan Web API 2 dan ASP.NET 5 (MVC 5) dan Microsoft telah beralih dari strategi hanya-IIS, sedangkan CustomErrors
skool IIS lama;).
Lagi pula, saya punya masalah pada produksi yang tidak saya miliki secara lokal. Dan kemudian menemukan saya tidak bisa melihat kesalahan di tab Jaringan Chrome seperti yang saya bisa di mesin dev saya. Pada akhirnya saya berhasil menyelesaikannya dengan memasang Chrome di server produksi saya dan kemudian menjelajah ke aplikasi yang ada di server itu sendiri (misalnya di 'localhost'). Kemudian kesalahan yang lebih rinci muncul dengan tumpukan jejak dan semuanya.
Baru setelah itu saya menemukan artikel ini dari Jimmy Bogard (Catatan: Jimmy is mr. AutoMapper! ). Yang lucu adalah bahwa artikelnya juga berasal dari 2012, tetapi di dalamnya dia sudah menjelaskan bahwa CustomErrors
tidak membantu untuk ini lagi, tetapi bahwa Anda BISA mengubah 'Rincian kesalahan' dengan mengatur yang berbeda IncludeErrorDetailPolicy
dalam konfigurasi WebApi global (misalnya WebApiConfig.cs
):
GlobalConfiguration.Configuration.IncludeErrorDetailPolicy
= IncludeErrorDetailPolicy.Always;
Untungnya dia juga menjelaskan cara mengaturnya bahwa webapi (2) TIDAK mendengarkan CustomErrors
pengaturan Anda . Itu pendekatan yang cukup masuk akal, dan ini memungkinkan Anda untuk kembali ke 2012: P.
Catatan: Nilai default adalah 'LocalOnly', yang menjelaskan mengapa saya bisa menyelesaikan masalah seperti yang saya jelaskan, sebelum menemukan posting ini. Tapi saya mengerti bahwa tidak semua orang bisa hanya jauh untuk produksi dan memulai browser (saya tahu saya kebanyakan tidak bisa sampai saya memutuskan untuk pergi lepas dan DevOps).