我有一个相当复杂的传统ASP.Net应用程序正在不断开发中,对于一个客户端,它最近已经开始出错。
该应用程序在服务器端使用ASP.Net 3.5和C#,由SQL Server 2005和IIS6支持。
该应用程序还使用Microsoft ASP.net AJAX库和DevExpress组件。
我们有一个相当全面的日志记录平台,通过自定义页面基础中的Page_Error处理程序,记录所有未处理的异常并显示一个漂亮的错误页面。
问题是,一个客户端最近开始收到我们无法追踪的错误 - 没有记录任何内容,尽管显示了错误页面。没有异常被Page_Error处理程序捕获和处理,这是将用户重定向到错误页面的方法 - 在没有处理错误的情况下不会发生重定向。
我已经在ASP.Net Ajax PageScriptManager EndRequestHandler Javascript处理程序中添加了一些客户端Javascript,它将客户端错误记录到一个开放的ashx日志记录脚本中。
客户端捕获的唯一错误如下:
Sys.WebForms.PageRequestManagerServerErrorException: An unknown error occurred while processing the request on the server. The status code returned from the server was: 0
Sys.WebForms.PageRequestManagerParserErrorException: The message received from the server could not be parsed. Common causes for this error are when the response is modified by calls to Response.Write(), response filters, HttpModules, or server trace is enabled.
Details: Error parsing near '
<!DOCTYPE html P'.
这些错误没有相应的服务器端错误。
不幸的是,没有空间为这个项目设置单元测试,它太大了,我不知道从哪里开始客户端 - 服务器交互部分。
我的问题是,是否有人可以推荐一种方法来查看错误,错误原因以及为什么没有被Page_Error处理程序捕获?
答案 0 :(得分:0)
您可以尝试使用ELMAH来捕获应用程序中未处理的异常。
答案 1 :(得分:0)
事实证明,没有办法跟踪这些问题 - 问题范围更广,涉及客户端防火墙随机阻止AJAX通信,或修改产生的回传。