Как управлять тем, что ASPX-страницы загружаются быстрее? - PullRequest
4 голосов
/ 29 июня 2009

У меня (большая) проблема, которая может возникнуть у всех вас, работающих с Webforms.

Проблема в времени загрузки страницы . Используя localhost (ведьма должна быть самым быстрым режимом) в Vista (IIS 7) я получаю этот график

альтернативный текст http://www.balexandre.com/temp/2009-06-29_1302_soquestion.png

оригинальная ссылка на файл

Как видите, для отображения страницы требуется более 17 секунд !!! и всего 2 секунды, чтобы загрузить страницу самостоятельно ...

Я использую ASP.NET AJAX Framework для работы с веб-частями.

Как я могу уменьшить эти 17 секунд?

Любая идея о том, куда идти, очень ценится:)


Добавлено: Проверка правильности ответа от Ян Зич

Я проверял изменение

<asp:ScriptManager ID="sm" runat="server" />

в

<ajax:ToolkitScriptManager ID="sm" runat="server" CombineScripts="true" />

и результат с использованием FireBug впечатляет (в половине случаев и без использования кеша!), Как вы можете видеть на изображении ниже

альтернативный текст http://www.balexandre.com/temp/2009-06-29_1543_soquestion.png

оригинальная ссылка на файл

и с CSS и jQuery файлы, кэшированные , уменьшаются до половины!

альтернативный текст http://www.balexandre.com/temp/2009-06-29_1550_soquestion.png

исходная ссылка на файл

Ответы [ 3 ]

4 голосов
/ 29 июня 2009

Это не будет считаться правильным ответом, потому что я не знаю, как на самом деле это исправить, но проблема в том, что большинство браузеров (помимо Safari и Chrome, возможно) загружают JavaScript последовательно, потому что необходимо дождаться предыдущего скрипта закончить выполнение (так как это может изменить документ). Обычно это исправляется путем объединения всех файлов JavaScript в один.

Редактировать: Смежный вопрос: Как объединить файлы WebResource.axd и ScriptResource.axd, чтобы уменьшить количество запросов к моему серверу ASP.NET? . Кроме того, я не могу видеть, какие сценарии вы на самом деле включаете из скриншота, но, скорее всего, это ваши собственные сценарии. Есть ли в вашем приложении способ как-то их объединить?

1 голос
/ 29 июня 2009

Имейте в виду, что при включенном режиме отладки (в web.config: <compilation debug="true">) такие ресурсы, как файлы JavaScript, изображения и файлы CSS, не кэшируются браузером.

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

0 голосов
/ 29 июня 2009

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

Можно расширить панель обновления, чтобы она отображалась до загрузки ваших данных - В этой статье описывается, как это сделать (увы, на голландском языке, но я считаю, что комментарии внутри код были на английском)

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