【发布时间】:2015-10-01 19:31:48
【问题描述】:
在我们的 ASP.Net 应用程序中,我们通常会尝试通过在相关位置捕获异常来处理我们所有的异常,以便为最终用户提供有用的错误消息,但由于某些异常被抛出的位置,我们无法捕获它们。
这是我们服务器设置的一个问题,因为我们希望保持 IIS 快速故障保护按预期工作,并将所有错误写入我们的自定义错误日志。因此,为了避免服务器意外重置并淹没我们的错误日志,我在 Global.asax.cs 中添加了一些代码来抑制某些类型的错误。目前我们正在研究 IIS 本身抛出的两种 HttpExceptions,以防止 URL 过长(基于 maxUrlLength 设置),以及防止错误的 WebResource 或 ScriptResource 请求。由于某些网络爬虫会生成它们,因此我们无法阻止它们。
我有兴趣知道的,我很难在任何地方找到信息的是:
- 引用的 HttpExceptions 甚至可能导致 Rapid 无法保护重新启动服务器?有人告诉我,任何未被抓住的 异常可能会导致它,但对我来说这种情况似乎不合逻辑 的异常应该能够导致它。
- 如果我在 Application_Error() 事件中调用 Server.ClearError(),是否足以抑制可能导致快速故障保护重启的错误? 还是现在已经太晚了?既然我们已经在 响应未处理异常的过程。
【问题讨论】:
标签: c# asp.net iis error-handling