Ошибка Javascript, генерируемая AjaxToolKit в .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. Разрешения пользователей одинаковы для всех нас

Приложение работало корректно до обновления на этих выходных, где мы обновили UserControl на странице. Если я удаляю этот элемент управления, сохранение отлично работает на всех компьютерах. Когда я добавляю элемент управления, возникает описанная выше ситуация, когда он не работает на случайных компьютерах.

Ответ

К сожалению, это было трудно отследить из-за таинственности того, как AjaxToolKit возвращает ошибки. Настоящий виновник заключался в том, что в некоторых наших полях в UserControl был HTML. Мы добавили ValidateRequest = "false" в начало нашей страницы, и наши проблемы исчезли.

Способ, которым мы в конечном счете нашли проблему, состоял в том, чтобы удалить UpdatePanel вокруг нашей кнопки Сохранить.

Извините, я не думал об этом раньше, потому что это было довольно просто оттуда. Я даю Майклу принятый ответ за его тяжелую работу и исчерпывающий список неисправностей.

15.12.2008 16:37:27
Так он изолирован для конкретных машин? Воспроизводимо ли преуспевать и терпеть неудачу на одних и тех же машинах? Вы выполняете одинаковые шаги на всех машинах? Это странно!
BobbyShaftoe 15.12.2008 16:43:48
Он изолирован для определенных машин (у нас большая база пользователей, поэтому я бы сказал, что 5-10 имеют проблемы с примерно 300 пользователями, которые использовали его сегодня). Кажется, что он либо провалился, либо преуспел, и мы не можем перевернуться в любом случае. Шаги такие же (перейдите по ссылке, нажмите «Сохранить»), и я не могу думать о других путях / параметрах.
Jon Smock 15.12.2008 16:48:34
2 ОТВЕТА
РЕШЕНИЕ

Вещи, чтобы проверить:

  1. Перезагрузка (старенький, но положительный герой, и не всегда без слов)
  2. Версия ОС (вы сделали это)
  3. Веб-браузер (вы сделали это)
  4. Настройки веб-браузера (вы рассмотрели это, попробовав несколько браузеров)
  5. Сетевое подключение и правила файла Hosts
  6. Разрешения пользователя (вы рассмотрели это)
  7. Разрешения приложения (вы рассмотрели это)
  8. Настройки локали ОС (панель управления: Язык и региональные стандарты)
  9. Попробуйте собрать больше информации.

В этой ситуации я бы, вероятно, скачал девственный браузер, чтобы попытаться исключить настройки браузера. Я бы бросил Google Chrome на известную хорошую машину и на известную плохую машину, чтобы посмотреть, что получится. Если это работает в обоих случаях, я бы посмотрел дальше в настройках браузера. Я знаю, что это маловероятно, так как он терпит неудачу как в FF, так и в IE, но IE, тем не менее, этот простой тест может помочь предоставить немного больше информации.

Это странно. Поскольку это влияет как на IE, так и на FF, я бы также посмотрел на угол подключения, файл hosts и разрешения.

2
15.12.2008 20:35:25
Не могу найти ничего полезного в журналах IIS, Chrome не работал на плохой машине.
Jon Smock 15.12.2008 18:34:03
Хорошо, поскольку Chrome вышел из строя, мы можем игнорировать все элементы браузера, такие как кэш, разрешения и т. Д. А как насчет ОС и сетевых компонентов? Я полагаю, вы сделали перезагрузку тоже ...?
Michael Haren 15.12.2008 20:33:08
(Обратите внимание, что Chrome должен работать на хорошей машине, чтобы быть действительным тестом на плохой машине)
Michael Haren 15.12.2008 20:36:15

Это не ошибка Ajax, где-то в вашем коде ошибка. Удалите Ajax, а затем проверьте, узнаете ли вы, что именно является ошибкой.

Ажит

0
15.12.2009 13:01:16