2012-07-11 41 views
6

Asp.net yapılandırma ayarıyla sağlanan özel hata kullanıyoruz. Tüm uygulamada (PL/BLL/DAL) herhangi bir try catch kullanmıyoruz. Herhangi bir katman uygulamasındaki herhangi bir istisna için, config dosyasındaki özel hata ayarında kullanıcıyı özel hata sayfasına yönlendirin. Şimdi hata sayfası göstermeden önce günlük dosyasında aşağıdaki bilgileri günlüğe istiyorum:Asp.net 4.0: Özel hata sayfasında özel durum ayrıntıları nasıl alınır?

- Date & time 
- Exception message & strack trace. 
- Page Name 
- Method Name 
- Method Parameter & values. 

nasıl özel hata page_load durumunda bilgilerin üzerinde toplamak için bana yardım edin ??

sayesinde

@ Paul

cevap

11

Sen oturumda hata ayrıntılarını saklamak ve özel hata sayfası onları alabilirsiniz.

sizin hata sayfasında Sonra
protected void Application_Error(object sender, EventArgs e) 
    { 
     Exception err = Server.GetLastError(); 
     Session.Add("LastError", err); 
    } 

    void Session_Start(object sender, EventArgs e) 
    {  
     Session["LastError"] = ""; //initialize the session 
    } 

yük:

protected void Page_Load(object sender, EventArgs e) 
    { 
     Exception err = Session["LastError"] as Exception; 
     //Exception err = Server.GetLastError(); 
     if (err != null) 
     { 
      err = err.GetBaseException(); 
      lblErrorMsg.Text = err.Message; 
      lblSource.Text = err.Source; 
      lblInnerEx.Text = (err.InnerException != null) ? err.InnerException.ToString() : ""; 
      lblStackTrace.Text = err.StackTrace; 
      Session["LastError"] = null; 
     } 
    } 
0

Set web.config'de customErrors bölümünde bu özellik: redirectMode =

Bu kod Global.asax olduğunu "ResponseRewrite"

İlgili konular