2010-11-15 150 views
0

我有一个相当复杂的传统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

事实证明,目前还没有一种方法可以跟踪这些问题 - 问题范围更广,客户端防火墙随机阻止AJAX通信或修改产生的回传。

0

您可以尝试使用ELMAH来捕获在应用程序内部未处理的异常。

+0

我在VS2010下运行了代码库 - 任何未处理的异常都应该在这一点上显而易见。 – Moo 2010-11-15 16:45:45