Asp.net 4.0:如何获得自定义错误页的异常细节?(Asp.net 4.0 : How to

2019-09-19 08:03发布

我们利用asp.net配置设置提供自定义错误。 在整个应用程序(PL / BLL / DAL)我们没有使用任何尝试捕捉。 所以,在任何应用层的任何异常重定向用户在配置文件中的自定义错误设置中设置自定义错误页。 现在,我们要显示的错误页面之前,登录日志文件的以下信息:

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

请帮我如何收集在自定义错误Page_Load事件上面的信息?

谢谢,

@保罗

Answer 1:

你可以存储错误的详细信息在会话,并让他们在自定义错误页。

此代码是在Global.asax中:

    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
    }

然后在你的错误页面加载:

    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;
        }
    }


Answer 2:

设置的customErrors节这个属性在web.config中:redirectMode =“ResponseRewrite”



文章来源: Asp.net 4.0 : How to get exception details in custom error page?