#.net #asp.net #web-applications #precompiled
#.net #asp.net #веб-приложения #предварительно скомпилированный
Вопрос:
у меня есть одно веб-приложение. index.aspx — это моя страница по умолчанию. итак, моя проблема в том, что при первом запуске моего приложения загрузка страницы занимает 15 секунд. в моем index.aspx есть только простое статическое меню. когда я ставлю точку останова в page_load, она попадает через 15 секунд. так что это не моя страница, а что-то другое вызывает эту проблему. может быть предварительная компиляция или загрузка DLL-файлов или что-то в этом роде.
мне действительно нужна помощь в этом. я не знаю, где искать.
Спасибо
Ответ №1:
Это совершенно нормально. При первой инициализации приложения после нового развертывания ASP.NET страницы будут компилироваться в сборки для справки в IIS. Однако есть способы предварительной компиляции этих страниц.
Смотрите следующую статью MSDN для получения информации о том, как предварительно скомпилировать ваши веб-страницы для ускорения начальной загрузки.
Комментарии:
1. Эта предварительная компиляция была тем, что я искал. Спасибо.
Ответ №2:
Каждый раз, когда вы перестраиваете свое приложение, сервер должен перекомпилировать код, но это должно быть быстрее после первого посещения.
Кроме того, использование отладчика приведет к снижению производительности.
Если вы хотите просматривать сайт локально с более высокой производительностью в целом, вы можете настроить веб-сайт в IIS, а не использовать встроенный веб-сервер Visual Studio.
Комментарии:
1. спасибо, Ник. я протестировал это на нашей промежуточной области. даже после того, как страница с несколькими запросами занимает минимум 10 секунд. я что-то упускаю?
2. Используете ли вы встроенный веб-сервер (Cassini)? Он создан не для повышения скорости, а предназначен для отладки. Я полагаю, вы теряете производительность из-за возможности получать полезную информацию об отладке.
3. я использовал веб-сервер разработки. но я тестировал на нашем промежуточном IIS. и мое приложение предварительно скомпилировано. у меня есть другое приложение из того же источника, которое работает нормально, вообще без проблем. так это IIS делает что-то странное.
Ответ №3:
Дайте вашей странице отрисоваться, затем нажмите просмотреть исходный код и посмотрите на внешние библиотеки, на которые ссылается страница. Обычно причиной этого является принудительная загрузка клиентом большой внешней библиотеки javascript (эта библиотека должна быть кэширована на клиенте и не влиять на будущие загрузки страницы).