Замедляют ли внешние ссылки мое приложение ASP.NET? (VS: диалог добавления ссылки)
Я заметил, что по мере того, как мой веб-сайт становится все больше и больше, время, затрачиваемое моим ноутбуком на отображение моей страницы, гораздо больше, чем на новых проектах с минимальными ссылками.
Я думаю, что есть две переменные, которые влияют на время прогрева ASP.NET:
- Количество внешних ссылок
- Время, необходимое рабочему процессу для
new()
до каждого экземпляра на рабочий процесс - Дополнительное время для объектов WCF, так как ServiceHost может быть во внешней DLL
Во-первых, правильные ли переменные необходимо учитывать при рассмотрении времени запуска ASP.NET?
Затем кажется, что web.config может отправлять другие объекты для использования с определенными типами файлов (*.svc, *.aspx, Windows Identity Foundation (WIF) и т. Д.). Это также может вызвать задержки в ASP.NET.
Наконец, мой проект создается как "веб-проект", а не как "веб-сайт". Не уверен, если это оказывает влияние.
Моя теория полна дыр, или я могу что-то сделать, чтобы улучшить разработку на старом ноутбуке?
1 ответ
Рабочий процесс будет загружать любые ссылки в домен приложений по мере необходимости. Это означает, что при первом запуске приложения не все загруженные вами сборки могут быть загружены. Если вы обнаружите, что у вас много времени на загрузку (время первоначального запуска приложения) увеличивается, я хотел бы рассмотреть вопрос о том, что именно вы делаете в своем Application_Start
метод и т. д. Еще одна вещь, которую нужно помнить, это то, что это начальное время запуска, по сути, одноразовое, оно будет происходить только при каждом запуске приложения (не забывайте, когда ваш пул приложений также перезагружается). Поскольку это разовая вещь, имеет ли значение время запуска? Как только у сайта будет начальный просмотр страницы, его выполнение с этого момента должно быть довольно быстрым.
Вы можете запустить что-то вроде ANTS Profiler или dotTrace и профилировать точно, где все время тратится, а затем решить, какие улучшения производительности вы хотите сделать, основываясь на этой информации.