Salı, Şubat 10, 2009

ASP.NET ile hata sayfalarını özelleştirmek.

ISS'in standart hata sayfaları çok profyonel bir site için çok çirkin kalıyor, o yüzden bu hata sayfalarını kendi tasarladığımız hata sayfaları ile değiştirmek hem sitenin profosyonel görüntüsünü korumaya hemde kullanıcılardan gelecek hata bildirimlerini özelleştirmemizde bize çok faydalı olacaktır.

Hataları Sayfa Üzerinde Yakalamak

Bir sayfada hata oluştuğunda öncelikli olarak o sayfadaki "OnError" olayı gerçekleşir bizde bu olayı kontrol ederek hataları yakalayıp kullanıcıyı ona göre yönlendirebiliriz, fakat bu yöntem o sayfaya özel olacağı için pek tercih edilmez.

Uygulama Bazında Hata Yakalama

Her sayfada "OnError" olayını yakalamaktan daha kullanışlı olan yöntem uygulamıza ait "Global.asax" dosyasındaki "OnError" yordamını kullanmaktır. Eğer projenize de Global.asax dosyası yoksa projeniz üzerinde sağ tıklayıp "Add - New Item - Global Application Class" yolunu takip ederek "Global.asax" dosyasını projenize ekleyebilirsiniz. Bu dosyadaki "Application_Error" yordamı içerisine yazacağınız kodlar sayfanız çalışırken bir hata oluştuğunda çalışacaktır.

Hata Kodlarına Göre Sayfa Yönlendirme.
Web programcılarının en çok karşılaştıkları sorunlardan bir tanesinde kullanıcının uygulama içerisinde geçersiz olan bir sayfanın adresini girmesi durumudur. Eğer kullanıcı geçersiz bir adres girerse karşısını 404 hata kodlu sayfa bulunamadı penceresi çıkacaktır. Eğer profosyonel bir web uygulaması yapıyorsak bu hata sayfası yerine kendi özel sayfamızı yerleştirebiliriz. Web.config dosyası içerisindeki "customErrors" alanı bu iş için tasarlanmıştır. Eğer handle etmek istediğiniz hatanın kodunu biliyorsanız resimdeki şekilde yeraldığı gibi oluşan hata kodlarına göre kullanıcıları ilgili sayfalara yönlendirebilirsiniz.



Hiç yorum yok: