asp.net - 将异常信息从 Global.asax 传递到 ErrorPage.aspx

标签 asp.net error-handling message-passing pageobjects

我在 Global.asax 中有一个全局错误处理程序,并试图在名为 ErrorPage.aspx 的页面中显示异常信息。我已经阅读了微软关于在 asp.net 页面之间传递信息的页面 (http://msdn.microsoft.com/en-us/library/6c3yckfw.aspx)。我认为这些都行不通:

  • QueryString:我担心异常的长度会
    超过 QueryString 的最大长度。
  • 发布信息: Global.asax 页面没有任何表单字段。
  • session 状态: session 状态在 Global.asax
  • 中不可用
  • 公共(public)值(value)观:我认为这仅适用于 .aspx 页面
  • 来自源页面的控件:Global.asax 不能有 asp.net 控件。

  • 我目前的想法是创建一个 ErrorPage 对象的实例并导航到它是合乎逻辑的(就像您可以在 Windows 窗体应用程序中所做的那样),但我不知道如何做到这一点,或者在 asp 中是否有可能。网。

    最终,我正在寻找一种在标准 .aspx 页面中显示由全局错误处理程序捕获的错误的方法。任何的意见都将会有帮助。

    最佳答案

    我会做什么:

  • 在日志文件中记录异常信息,包括堆栈跟踪,
  • 重定向到带有错误代码的 ErrorPage(常规 http 错误代码 + 一个通用的“未知错误”一个 + 可能是一些对应用程序有意义的自定义错误)在查询字符串参数中传递,
  • 显示此错误代码的预定义消息。

  • 几乎没有理由向最终用户显示实际错误消息,更详细的错误信息无法承受。如果要显示完整信息以进行调试,请在 web.config 中关闭自定义错误

    关于asp.net - 将异常信息从 Global.asax 传递到 ErrorPage.aspx,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11441284/

    相关文章:

    c++ - RAII 获取在销毁过程中捕获的错误的方法

    java - GameOfLife IndexOutOfBounds 错误处理

    android - 不移动下一个 Activity 从android中的另一个 Activity 发送数据

    asp.net - 请求验证 - 在 SiteCore 中如何以及为何禁用它?

    javascript - Asp.Net 从 javascript 的弹出窗口中获取值

    asp.net - 如何在 VS2010 中使用 Web 部署设置文件夹 ACL?

    ios - 错误域= HMErrorDomain代码= 4已完成。 (HMErrorDomain错误4。)”

    c - 使用MPI的不同大小的散布矩阵 block

    Java:在客户端和servlet之间传递消息的适当方法?

    javascript - 禁用 asp.net 按钮的回发