WebResource.axd и ScriptResource.axd загружаются очень медленно

При нормальных обстоятельствах два файла .axd загружаются с обычной скоростью в браузер, т.е. несколько сотен миллисекунд. Я вижу, что они нормально загружаются вместе со всеми другими элементами страницы, просматривая диаграмму водопада (сетевую диаграмму) в хроме или другом инструменте отладки.

Иногда возникает какая-то проблема, когда двум файлам требуется около минуты для загрузки. Вот еще несколько примечаний:

  • Все остальные элементы на странице загружаются с нормальной скоростью.
  • Обычно это происходит один или два раза в день и длится несколько минут.
  • Я могу видеть запросы в очереди на всплывающие подсказки на счетчиках производительности одновременно.
  • Процессор, память и диск остаются неизменными в течение этого времени.
  • Если бы сегодня было отключено несколько часов, требующих перезапуска приложения для решения.
  • Не объединять файлы .axd или еще что-нибудь вроде этого.
  • Внедрение URL-адресов на весь сайт. Файлы axd исключаются из перезаписи.
  • Приложение построено для С# 3.5
  • IIS 7
  • Я использую версию скрипта ScriptManager для CDN, например:

    <asp:scriptreference name="MicrosoftAjax.js" path="http://ajax.microsoft.com/ajax/3.5/MicrosoftAjax.js"></asp:scriptreference>

Похоже, что у других была аналогичная проблема, но не решена:

WebResource.axd и ScriptResource.axd странное поведение

Загрузка WebResource.axd и ScriptResource.axd занимает более 1 минуты

Вопрос:

Любая идея, как определить, что заставляет эти два файла загружаться так медленно?

Кроме того, существуют ли какие-либо способы обхода, такие как предварительная подготовка файлов .axd или что-то еще.?

Ответ 2

У меня есть некоторые предложения, которые, вероятно, помогут.

  • загрузите последнюю версию Ajax Control Toolkit
  • Запустите его в режиме деблокирования, установив в web.config

    <deployment retail="true" ...>
    
  • Не загружайте с других сайтов ваш javascript, но получите его на свой диск и загрузите с сервера напрямую.

Протестируйте их, чтобы убедиться, что ваша проблема идет.

Ответ 3

В основном, эти файлы axd являются обработчиками, и вы можете уже знать, что код обработчика будет выполняться механизмом ASP.net. Эти обработчики просто испускают js файл.

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

Ответ 4

Если файлы .axd являются статическими и не меняются, я не вижу проблем с их сохранением и ссылкой на них как файлы js.