Javascript AjaxToolKit在.NET中仅在某些计算机上抛出的错误

时间:2008-12-15 16:37:27

标签: .net

我们有一个使用AjaxToolKit / C#/ .NET异步保存的按钮。我在错误控制台中收到了这个:

Error: [Exception... "'Sys.WebForms.PageRequestManagerServerErrorException: Sys.WebForms.PageRequestManagerServerErrorException:
An unknown error occurred while processing the request on the server. The status code returned from the server was: 500' when calling method:
[nsIDOMEventListener::handleEvent]"  nsresult: "0x8057001c (NS_ERROR_XPC_JS_THREW_JS_OBJECT)"  location: "<unknown>"  data: no]

最奇怪的是,它只发生在某些机器上(但不是全部)。办公室里的每个人都在FF 3.0.4和IE 7中检查了这一点,并且保存对大多数人来说都很好。对于少数不适用的人来说,它在两种浏览器中都失败了。

有关从何处开始排除故障的任何想法?

  1. 我说这是服务器/代码错误, 但它适用于大多数人。
  2. 我说这是一个javascript错误,但是 我们都使用相同的浏览器。
  3. 我甚至可能会说这是一个操作系统 差异,但它发生在两者 XP和Vista用户。
  4. 我们所有人的用户权限相同
  5. 应用程序正常工作,直到本周末的更新,我们更新了页面上的UserControl。如果我删除该控件,则保存在所有计算机上都能正常工作。当我添加控件时,我们遇到上述情况,它在随机计算机上失败。

    答案

    不幸的是,由于AjaxToolKit返回错误的神秘性,这很难追查。真正的罪魁祸首是UserControl中的某些字段中存在HTML。我们在页面顶部添加了ValidateRequest =“false”,我们的问题就消失了。

    我们最终发现问题的方法是从我们的保存按钮周围删除UpdatePanel

    对不起,我没有早点想到这一点,因为那里非常简单。我正在给迈克尔他的辛勤工作和详尽的故障排除清单。

2 个答案:

答案 0 :(得分:2)

要检查的事项:

  1. 重新启动(老人但很好,并不总是不言而喻)
  2. 操作系统版本(你这样做了)
  3. 网络浏览器(你这样做了)
  4. 网络浏览器设置(您通过尝试多个浏览器来解决此问题)
  5. 网络连接和Hosts file规则
  6. 用户权限(您已涵盖此内容)
  7. 应用程序权限(您已涵盖此内容)
  8. 操作系统区域设置(控制面板:区域和语言选项)
  9. 尝试并捕获更多信息。
  10. 在这种情况下,我可能会下载一个处女浏览器来尝试排除浏览器设置。我将谷歌浏览器扔到已知良好的机器和已知的坏机器上,看看会发生什么。如果它在两种情况下都有效,那么我会进一步研究浏览器设置。我知道这不太可能,因为它在FF和IE中都失败了,但IE这个简单的测试可以帮助提供更多的信息。

    这是一个奇怪的。由于它同时影响IE和FF,我还会查看连接角度,主机文件和权限。

答案 1 :(得分:0)

这不是Ajax的错误,在某处你的代码有错误。删除Ajax然后检查,你会知道什么是确切的错误。

阿吉特