Замедляют ли внешние ссылки мое приложение ASP.NET?(VS: диалог добавления ссылки) - PullRequest
1 голос
/ 06 августа 2010

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

Я думаю, что есть две переменные, которые влияют на время прогрева ASP.NET:

  • Количество внешних ссылок
  • Время, необходимое для рабочего процесса new() каждый экземпляр на рабочий процесс
  • Дополнительное время для объектов WCF, поскольку ServiceHost может находиться во внешней DLL

Во-первых, правильные ли переменные необходимо учитывать при рассмотрении времени запуска ASP.NET?

Затем создается впечатление, что web.config может отправлять другие объекты для использования с определенными типами файлов (* .svc, * .aspx, Windows Identity Foundation (WIF) и т. Д.). Это также может вызвать задержки в ASP.NET.

Наконец, мой проект создан как «веб-проект», а не как «веб-сайт». Не уверен, оказывает ли это влияние.

Моя теория полна дыр, или я могу кое-что сделать, чтобы улучшить разработку на старом ноутбуке?

1 Ответ

1 голос
/ 06 августа 2010

Рабочий процесс будет загружать любые ссылки в домен приложений по мере необходимости. Это означает, что при первом запуске приложения не все загруженные вами сборки могут быть загружены. Если вы обнаружите, что ваше время начальной загрузки (начальное время запуска приложения) значительно возрастает, я бы рассмотрел, что именно вы делаете в своем методе Application_Start и т. Д. Еще одна вещь, которую нужно помнить, это то, что этот начальный Время запуска по сути одноразовое, оно будет происходить только при каждом запуске приложения (не забывайте, когда ваш пул приложений также будет перезагружен). Потому что это разовая вещь, имеет ли значение время запуска? Как только у сайта появится начальный вид страницы, его выполнение с этого момента должно быть довольно быстрым.

Вы можете запустить что-то вроде ANTS Profiler или dotTrace и профилировать именно там, где все время тратится, а затем решить, какие улучшения производительности вы хотите добиться, основываясь на этой информации.

...