Ceviz Forum

Geri Dön   Ceviz Forum > Programlama > ASP.NET / Silverlight / Moonlight

Cevapla
 
LinkBack Seçenekler
Eski 19/03/2008, 14:09   #1 (permalink)
Finwë Noldor Eldar
 
deggial Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 10/2005
Mesaj: 330
Varsayılan customErrors - Hata Bildirimi

Selamlar.
web.config ayarları ile oynayıp, kullanıcıya "bilinmeyen bir hata oluştu, hata ile ilgili teknik bilgi sistem yöneticisine iletildi" şeklinde bir ileti gösterirken, oluşan hata ile ilgili ayrıntılı bilgileri sitede bir yere kaydetmemiz mümkün müdür acaba.
customErrors'u kullanıcılar kodları görmesin diye OFF'da tutuyorum. Ancak bu durum sitedeki bug'ları bulmamı da zorlaştırıyor. Aynı hatayı bir daha bulamayabilirim. ON modunda kullanıcıların bazıları gördükleri kodları bana ilettiği zaman işim kolay oluyor aslında ama güvenlik için pek de sağlıklı değil..

Yani sorumun özü, customErrors=ON konumunda iken, oluşacak olan hataların hangi dosyada, hangi kod satırında gerçekleştiğini, hatanın açıklamasını, hatta mümkünse o andaki değişkenlerin değerlerini bir LOG sistemi ile tutmam mümkün müdür??
deggial hatta değil   Alıntı Yaparak Yanıtla
Eski 19/03/2008, 14:28   #2 (permalink)
Varlığa izin veren boşluk
 
anov Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 04/2004
Yer: İstanbul
Mesaj: 2,824
Varsayılan

ASP 3.0 erasından kalan Server.GetLastError() un döndürdüğü nesneyi işleyip kullanmayı deneyebilirsin. Döndürdüğü referans (Exception) tipindedir ve teorik olarak senin hatayı sınıflandırabilmen için gereken tüm veriyi içerir.

Kolay gelsin.
anov hatta değil   Alıntı Yaparak Yanıtla
Eski 19/03/2008, 15:36   #3 (permalink)
Finwë Noldor Eldar
 
deggial Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 10/2005
Mesaj: 330
Varsayılan

Tam istediğim şey evet..
ama kullanımını çözemedim.

Bir sayfaya hata oluşması için şunu ekledim:
Kod:
 String dd = "fffffffffffff";
Int32 a = Convert.ToInt32(dd);
web.config'deki defaultRedirect sayfasının Load'u içerisine de şunu ekledim:
Kod:
 Exception ex = Server.GetLastError();
if (ex != null)
{
       lbl_hata.InnerHtml = Server.GetLastError().Message.ToString();
}
Debug ile kontol ettim.. İlk önce integer dönüşümünde break oluyor, F11'e basınca defaultRedirect sayfasına gidiyor, sonraki F11'lerde de ex null olarak kalıyor...

"GetLastError" isminden dolayı global kalan bir değişken çektiğini düşünmüştüm ama bütün aspx sayfalarımda tek tek mi yapmam gerekiyor kontrol işlemini?? Try - catch kullanmaktan bir farkı olmayacak eğer öyle ise...
deggial hatta değil   Alıntı Yaparak Yanıtla
Eski 19/03/2008, 16:02   #4 (permalink)
Varlığa izin veren boşluk
 
anov Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 04/2004
Yer: İstanbul
Mesaj: 2,824
Varsayılan

ASP.NET e gönderilen istek ve alınan yanıt durumsuz (stateless) olduğundan ve customErrors un basitçe sadece yönlendirme yapmasından GetLastError metodunu ancak içinde bulunduğumuz sayfa (veya master page? bu konuda emin değilim) kapsamında kullanmamız gerekecek.

Bu konuda uygun bir olay Page nesnesinin Error diye bir event handler ı var. Bunun içinde sayfaya özel Error tanımlaması yapman gerekecek. Master Page içine veya Application düzeyinde tanımlama yapılıyor mu yapılmıyor mu bilmiyorum. Doğrusu, customErrors açıldığı zaman Application düzeyindeki Error olay yöneticisinin kapsamına girebileceğimizi de zannetmiyorum ama. Hata ayıklayıcısını açıp bakmak gerekiyor.

Sen bu kapsamda birkaç deneme yap istersen. Sonucu merakla bekliyor olacağım :-)
anov hatta değil   Alıntı Yaparak Yanıtla
Eski 06/04/2008, 18:09   #5 (permalink)
Finwë Noldor Eldar
 
deggial Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 10/2005
Mesaj: 330
Varsayılan

Global.asax'da "Application_Error" isimli bir event'de hallettim olayı.. biraz geç farkettim bu eventi ama geç olsun güç olmasın
yeni bir sayfa request'i gerçekleşmediği için Server.GetLastError() null olarak dönmüyor.
önce kaydedeceğim verileri kaydedip sonra kullanıcıyı başka bir sayfaya yönlendirebiliyorum.
Teşekkürler tekrar..
deggial hatta değil   Alıntı Yaparak Yanıtla
Eski 18/09/2008, 17:58   #6 (permalink)
Üye
 
Üyelik Tarihi: 09/2008
Mesaj: 1
Varsayılan global.asax

merhaba arkadaşlar bende aynen senin yapmak istediğini yapmaya çaışıyorum.
ancak benim global.asax dosyasının içerne yazdığım kod çalışmıyor neden olabilir acaba ben de komutlarımı aplication error içine yazıyorum.
astek_burhan hatta değil   Alıntı Yaparak Yanıtla
Eski 18/09/2008, 21:37   #7 (permalink)
Finwë Noldor Eldar
 
deggial Adlı Üyenin Profil Grafiği
 
Üyelik Tarihi: 10/2005
Mesaj: 330
Varsayılan

vala çalışması için özel olarak ek bir şey yapmamıştım ben.
Global.asax'da Application_Error içerisine direkt yapacağım şeyleri yazdım.
Bir hata oluştuğunda o event çalışıyordu.
Denemek için uygulamanda hataya sebep olacak bir kod satırı eklediğinden emin misin?
Ya da belki try catch içindeki bir hatada çalışmıyor da olabilir (tahmin sadece).
__________________

Sanat, galeri, güzel sanatlar: http://www.salsanat.net


deggial hatta değil   Alıntı Yaparak Yanıtla
Cevapla

Bookmarks

Seçenekler

Mesaj Yazma Hakları
Yeni mesajgöndermezsiniz
Cevap yazamazsınız
Dosya ekleyemezsiniz
Mesajınızı düzenleyemezsiniz

BB code is Açık
[IMG] kodu Açık
HTML kodu Kapalı
Trackbacks are Açık
Pingbacks are Açık
Refbacks are Açık

Benzer Konular
Konu Konuyu açana göre Forum Cevap En Son Mesaj
Ödeme Bildirimi By AzraiL PHP 5 24/08/2007 19:10
fonksiyon bildirimi ile tanımı arasındaki fark ferdi04 C / C++ 11 30/05/2007 19:37
kötü mesaj bildirimi salihakkas2 Ceviz.net Hakkında 1 03/01/2007 22:57
Otomatiİk Bağlanti+ip No Bildirimi gesegen Ağ / Güvenlik 1 11/01/2005 15:10


Forum saati Türkiye saatine göredir. GMT +3. Şu anda saat 17:30.

Reklamlar & Desteklenenler
Hassas Valf | Hassas Kaplama | Antalyamız | Gazete | Ticari Bilişim | Hakan Müştak | Rüya Tabirleri | Kadın | Hastalıklar | Cepte msn ve e-posta | Webmaster | Antalya Aupair | Turkish Property Antalya | Forum | Chat | Perde | Adsl | Araba | bolindir.com | guncelle.com | livescore | Web Tasarım | evden eve nakliyat | forum | evden eve | sohbet | Resimcim| Kalifiye İnsan Kaynakları | Web Tasarım | Oyun | Yusuf KOÇ | Akın Yorulmaz | şiir | UFO | Web Tasarım | Oyunlar | Canlı Tv |


Forum Yazılımı: vBulletin Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0
Copyright ©2001 - 2008, Ceviz.net