Webresource.axd не загружается в моем приложении asp.net, работающем на моей веб-ферме

Я работаю над веб-приложением ASP.net. Я получаю ошибки на некоторых из моих страниц, где я получаю ошибки JavaScript во время выполнения.

Я сузил проблему до одного элемента управления меню ASP на главной странице. Я создал пустую страницу только с элементом управления меню ASP. Элемент управления ASP Menu привязан к Web.sitemap. Страница периодически выдает ошибки времени выполнения.

Однако, если я обновлю страницу, ошибка может появиться или не появиться при любой загрузке страницы. Иногда это работает; иногда браузер выдает ошибки времени выполнения при загрузке страницы или при наведении курсора на элемент управления меню ASP.

Когда я ловлю ошибку в Visual Studio, появляется сообщение: «Ошибка времени выполнения Microsoft jscript« sys »не определена». Когда я искал это сообщение в Google, я обнаружил, что оно обычно связано с AJAX. Однако ЕДИНСТВЕННАЯ вещь на странице — это один элемент управления ASP.

На странице абсолютно нет Javascript, за исключением того, что генерируется .net framework.

Что может быть причиной этой проблемы?

ОБНОВЛЕНИЕ Я обнаружил, что в моей среде балансировка нагрузки выполняется с помощью веб-фермы из трех серверов, обслуживающих URL-адрес. Когда я обращаюсь к приложению на любом из серверов индивидуально по IP-адресу, все работает нормально.

Чтобы уточнить, я понимаю, что когда пользователь нажимает общедоступный URL-адрес, он разрешается в x.x.x.1. x.x.x.1 — это адрес коммутатора, который направляет запрос на x.x.x.2, x.x.x.3 или x.x.x.4.

Когда я использую общедоступный URL-адрес, я обнаруживаю, что некоторые запросы файлов axd периодически перенаправляются на Error.aspx! ВТФ!?!?!?!?!?

Мне сказали, что это результат функции безопасности, предназначенной для защиты от межсайтового скриптинга и других плохих вещей. Что я могу сделать?

Обновление После удаления некоторых автоматических переадресаций страниц с ошибками я получаю более осмысленное сообщение об ошибке: ASP.NET Ajax client-side framework failed to load.


person Vivian River    schedule 07.10.2010    source источник


Ответы (1)


person eglasius    schedule 07.10.2010
comment
Что это за машинный ключ, о котором вы говорите? Где я могу это проверить? - person Vivian River; 08.10.2010
comment
@Rice смотрите ссылки в редактировании. Asp.net использует машинный ключ для шифрования параметров webresource.axd, если вы явно не настроите его в приложении web.config, он автоматически создаст новый для вашего приложения (при каждом перезапуске домена приложения). - person eglasius; 08.10.2010