WebResource.axd и ScriptResource.axd загружаются очень медленно - PullRequest
10 голосов
/ 26 апреля 2011

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

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

  • Все остальные элементы на странице загружаются с нормальной скоростью.
  • Обычно это происходит один или два раза в день и длится несколько минут.
  • Я могу видеть всплеск запросов в очереди одновременно на счетчиках производительности.
  • Процессор, памятьи все диски в это время остаются в нормальном состоянии.
  • Сегодня произошел один сбой из нескольких часов, для решения которого потребовался перезапуск приложения.
  • Пока не объединяются файлы .axd или что-либо подобное.
  • Реализована перезапись URL для всего сайта.Файлы axd исключены из перезаписи.
  • Приложение, созданное для C # 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 или что-то еще??

Ответы [ 4 ]

1 голос
/ 06 мая 2011

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

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

1 голос
/ 30 апреля 2011

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

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

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

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

1 голос
/ 26 апреля 2011

Может быть, хостинг http://ajax.microsoft.com/ajax/3.5/MicrosoftAjax.js локально поможет?

0 голосов
/ 04 мая 2011

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...