Veritabanı için istisnaları günlüğe kaydeden bir ASP.NET uygulaması çalıştırmaya çalışıyorum. Özel durumu yakalamak için Application_Error kullanıyorum.Application_Error()
Bağlantı dizgisini eklemeden önce, yalnızca kodumu sınamak için (Logger sınıfı ve Global.asax'daki kod), hatayı Windows olay görüntüleyicisine kaydetmeyi denedim. Bu beklendiği gibi çalışır.
Web.config dosyasına bağlantı dizesi ekledikten ve ADO.NET kodunu ekledikten sonra uygulamayı çalıştırmayı denedim. Ama ben ölümün sarı ekranını görüyorum: D
Kodumda neyin yanlış olduğunu bilmiyorum. Web.config dosyasındaki connectionStrings öğesini değiştirdim ve ADO.NET kodunu ekledim.
İşte kod.
Bu, Page_Load olayındaki web form kodudur. Countries.xml dosyası mevcut değil ve bir hata atması bekleniyor.
DataSet dataset = new DataSet();
dataset.ReadXml(Server.MapPath("~/Countries.xml"));
GridView1.DataSource = dataset;
GridView1.DataBind();
Application_Error
Exception exception = Server.GetLastError();
if (exception != null)
{
Logger.Log(exception);
Server.ClearError();
Server.Transfer("~/Errors.aspx");
}
Web.config
<configuration>
<connectionStrings>
<add name="DBCS" connectionString="Data Source=.;database=Sample;Integrated Security=SSPI" providerName="System.Data.SqlClient" />
</connectionStrings>
<system.web>
<compilation debug="true" targetFramework="4.5.2" />
</system.web>
</configuration>
I Global.asax Application_Error yöntemi bir kesme noktası yerleştirerek ayıklamayı çalıştı, ancak kontrol hiç noktaya ulaşır. İstisna, Page_Load olayından tetiklenir. Logger sınıfı kodunda derleme hatası yok. Ayrıca, bu sorunu çözmek için customErrors rotasını kullanmak istemiyorum.
Şimdiden teşekkürler. https://drive.google.com/folderview?id=0B5K22Q9r50wXU0VOQmJKVHBoaDg&usp=sharing
çok özel bir hata sayfası uygulayan Are -
Eğer, özel hatayı etkinleştirmek istediğiniz hata ayıklama sırasında Application_Error ulaşmak istiyorsanız? Application_Error kodunuzdan önce istisnayı ilk kez yakalayabilen başka bir try-catch ifadeniz olmadığını doğruladınız mı? –
Merhaba @Ephraim, evet Özel bir hata sayfası uyguluyorum: Errors.aspx. Kodumda başka bir try catch bloğu yok. İstisna ele alınmıyor ve sarı ölüm ekranını görüyorum. – Nachiket