Saya ingin halaman kesalahan khusus ditampilkan untuk 500, 404 dan 403. Inilah yang telah saya lakukan:
Mengaktifkan kesalahan khusus di web.config sebagai berikut:
<customErrors mode="On" defaultRedirect="~/Views/Shared/Error.cshtml"> <error statusCode="403" redirect="~/Views/Shared/UnauthorizedAccess.cshtml" /> <error statusCode="404" redirect="~/Views/Shared/FileNotFound.cshtml" /> </customErrors>
Terdaftar
HandleErrorAttribute
sebagai filter tindakan global diFilterConfig
kelas sebagai berikut:public static void RegisterGlobalFilters(GlobalFilterCollection filters) { filters.Add(new CustomHandleErrorAttribute()); filters.Add(new AuthorizeAttribute()); }
Membuat halaman kesalahan khusus untuk masing-masing pesan di atas. Yang standar untuk 500 sudah tersedia di luar kotak.
Dinyatakan dalam setiap tampilan halaman kesalahan kustom bahwa model untuk halaman tersebut
System.Web.Mvc.HandleErrorInfo
Untuk 500, ini menunjukkan halaman kesalahan khusus. Bagi yang lain, tidak.
Apakah ada sesuatu yang saya lewatkan?
Memang terlihat seperti ini tidak semua ada untuk menampilkan kesalahan khusus ketika saya membaca kode dalam OnException
metode HandleErrorAttribute
kelas dan hanya menangani 500.
Apa yang harus saya lakukan untuk menangani kesalahan lain?