1

我有一个使用 Google Page Speed Online 出现的问题,尽管我担心这可能会有更大的影响。我通过在线工具运行我的网站,在此处查看结果:https ://developers.google.com/pagespeed/#url=www.exclaimer.com&mobile=false 。请注意,它声称重定向到http://www.exclaimer.com/oops.aspx?aspxerrorpath=/default.aspx

现在,我插入的原始 URL http://www.exclaimer.comhttp://www.exclaimer.com/default.aspx都可以在我的浏览器中找到。我保留了所有未找到页面的日志,并且确实 /default.aspx 存在超过一千次(仅在 24 小时前发生了变化)。这不是我尝试 Page Speed 在线工具 1000 次,所以我担心这可能是另一个失败的 Google 服务(或其他一些自动化系统)。该网站的访问者没有抱怨无法访问,这让我相信对于普通用户来说没有问题,问题只是来自自动机器人或类似的问题。

我想我的问题是,有人知道我可以隔离问题根源的方法吗?我尝试修改我的 404 日志记录代码以捕获/default.aspx正在访问的页面,但在这里运气不佳,因为 Url Referrer 仅在非常特定的条件下工作。

更新

我已修改我的代码以记录错误详细信息,但 /default.aspx 没有传递任何内容。

Exception error = Server.GetLastError();
string errorTitle = "";
string errorDetails = "";
if (error != null)
{
    errorTitle = error.InnerException.Message;
    errorDetails = error.ToString();
}            
Server.ClearError();

... send to database
4

1 回答 1

1

如果页面重定向到错误页面,那么在访问该页面时一定会发生错误,因此您要做的是尝试捕获该错误是什么,以找出导致您出现问题的代码部分。

我的猜测是,问题在于您假设要从客户端发送某个 http 标头,并且您没有对其进行空值检查。当您收到来自机器人的请求时,该请求可能不会发送可接受的语言或其他内容,那么您就会崩溃。

在您的全局错误处理程序中,您应该记录在数据库中引发的任何异常,或者直接将其转储到文件中。这在任何时候都是有用的信息,并且应该在网站上出现任何其他错误并追踪其原因时被捕获。

于 2011-11-04T11:30:13.737 回答