Asp.net 4.0:如何获取自定义错误页面中的异常详细信息?

2024-03-25

我们正在使用 asp.net 配置设置提供的自定义错误。在整个应用程序(PL/BLL/DAL)中,我们没有使用任何 try catch。因此,对于任何层应用程序中的任何异常,都将用户重定向到配置文件中自定义错误设置中设置的自定义错误页面。现在我们想在显示错误页面之前在日志文件中记录以下信息:

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

请帮助我如何在自定义错误 page_load 事件中收集上述信息?

Thanks,

@Paul


您可以在会话中存储错误详细信息并在自定义错误页面中获取它们。

这段代码位于全局.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
    }

然后在你的错误页面 load:

    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;
        }
    }
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Asp.net 4.0:如何获取自定义错误页面中的异常详细信息? 的相关文章

随机推荐

  • 如何使用 Python 从 Outlook 帐户发送带有附件的邮件

    我已尝试使用以下代码发送附件 但文件未发送 仅发送内容 请帮忙 SERVER smtp example com FROM email protected cdn cgi l email protection TO listOfEmails
  • 隐藏导航栏,但是当我转换到上一个视图(弹出)时,它会暂时显示旧的后退按钮。为什么?

    我在导航控制器中有视图控制器 根 RootViewController 第二 ReadingViewController 但在第二个视图控制器中我想禁用导航栏UIToolBar 因为我不需要标题并想要更多按钮 例如 iBooks 或 Fac
  • 带参数的自定义激活

    我正在尝试在 Keras 中创建一个可以接受参数的激活函数beta像这样 from keras import backend as K from keras utils generic utils import get custom obj
  • Sublime Text 更改“Goto Line...”快捷方式

    这个问题是专门针对Mac的 但如果你愿意的话 你可以启发Windows用户 Goto Line 的命令是什么 用于更改 Goto Definition 的快捷方式 如下所示 keys cmd D command goto definitio
  • “财产价值无效。”为什么 Visual Studio 不允许我将图片分配给图像?

    在 WPF 窗口上我有一个图像对象 我单击按钮分配源 弹出窗口 我在其中添加了图像 单击添加 当图像加载时 它没有显示图像 而是显示一个白色框 我尝试将这个白框指定为图像源 它只是说 属性值无效 解决方案资源管理器清楚地显示图像在那里 我可
  • 无法将mysql驱动添加到jboss

    好吧 这让我发疯 特别是因为已经有很多类似的问题了 但没有答案对我有用 我的 Windows 7 机器上有 jboss 7 1 1 通常从 eclipse 运行它 并且想要使用 mysql 我做了以下事情 1个创建的目录jboss as 7
  • 使用 pandas 数据框的 Seaborn 热图

    我正在努力将 pandas 中的数据帧调整为 Seaborn 热图 或实际上是 matplotlib 的正确格式以制作热图 我当前的数据框 称为 data yule 是 Unnamed 0 SymmetricDivision test Mu
  • 如何将 jQuery 变量传递给 PHP 变量?

    如何在不刷新页面的情况下将变量从 jQuery 传递到 PHP 当我单击一个复选框时 我想将一个变量从 jQuery 传递到 PHP 我也在使用formdialog 我的 PHP 代码 gt gt 我的 JavaScript 代码 func
  • '/usr/include/c++/4.4/bits/' 中的位的含义是什么

    usr include c 4 4 bits 中的位的含义是什么 Linux 当然是 gcc 根据 libstdc 文档 该文件夹的官方名称是 标准标头包含的文件 以及位中的其他文件 目录 其中 位 可能只是意味着一些微不足道的东西 例如
  • Angular 2 在 iframe 内触发插值

    我想在 iframe 中显示模板化网页的内容 但加载内容后 模板不会按角度进行插值 是因为变化检测系统吗 可以通过其他方式实现吗 Component selector my app template export class App tem
  • ViewState 仅在 Safari 中无效

    我维护的网站之一很大程度上依赖于使用ViewState 这不是我的代码 但是 在某些页面上ViewState过于臃肿 Safari 会抛出一个 Validation of viewstate MAC failed error 这似乎只发生在
  • 使用Python的CGI表单提交按钮

    我正在尝试创建一个cgi 表单 允许用户输入一个单词 然后它将获取该单词并将其发送到下一页 另一个cgi 我知道如何使用 html 文件来做到这一点 但是当涉及到使用 python cgi 时 我迷失了 这是我需要做的 但它是 html 格
  • 为什么我的通知图标在 Oreo 中无法正确显示?

    很长一段时间以来 我们的应用程序中都有通知 效果很好 我有一个小的 彩色的 png 图标 用于它们 过去运行良好 在奥利奥中 该图标无法正常显示 它只是一个灰色的方块 查看设备上的抽屉 似乎系统 gmail 等现在都有单色图标 因此我怀疑与
  • 如何为 MAC OS X 安装 libgluezilla

    我正在尝试在具有嵌入式 Web 浏览器控件的 Mac 上运行 Mono 应用程序 程序运行 但现在显示浏览器并输出一条消息 未找到 libgluezilla 要获得网络浏览器支持 您需要安装 libgluezilla 我已经搜索过 但不知道
  • 寻找多条短路径的算法

    寻求一种能够产生 N 条短路径的算法 有没有人有算法的经验来寻找多条短路径在有向图中 我的应用程序用于语言 查找同义词链 但从逻辑上讲 这可能用于地理或社交网络 我想要明显不同的路径 而不仅仅是沿途交换几个节点 我真的很想知道是否有办法避免
  • Java中的线程何时从内存中删除? [复制]

    这个问题在这里已经有答案了 来自 Java API 文档 Java虚拟机继续执行线程 直到遵循 发生 所有非守护线程的线程都已死亡 或者通过返回 从调用 run 方法或抛出异常 传播到 run 方法之外 我希望我的假设是正确的 一旦线程完成
  • Cloud Firestore 中的 SQL LIKE 运算符?

    我使用 Firebase 实时数据库已经有一段时间了 今天我遇到了 Cloud Firestore 我不知道如何在 Firestore 上使用 LIKE 运算符 Firebase 实时数据库 ref child user orderByCh
  • 将字符串转换为 Enum 类

    免责声明 我不会说我是最有经验的 Java 人 可能有更简单的方法来完成我在示例中所做的事情 但这是一个关于将字符串条目转换为枚举类而不是枚举变量的问题 我尽力解释 这是我想做的事情的简单版本 我将有两个不同的枚举 我想根据用户的需求选择其
  • 继承自 std::vector

    这里有很多答案说不要从 std vector 等继承 例如这个问题 https stackoverflow com questions 10353954 potential problems with inheriting from std
  • Asp.net 4.0:如何获取自定义错误页面中的异常详细信息?

    我们正在使用 asp net 配置设置提供的自定义错误 在整个应用程序 PL BLL DAL 中 我们没有使用任何 try catch 因此 对于任何层应用程序中的任何异常 都将用户重定向到配置文件中自定义错误设置中设置的自定义错误页面 现