0

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

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

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

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

4

1 回答 1

1

我会做什么:

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

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

于 2012-07-11T23:42:16.817 回答