Время компиляции загрузки первой страницы - PullRequest
3 голосов
/ 30 ноября 2009

Я перешел с php на asp.net для определенного проекта, создал веб-приложение, и все прошло гладко.

Хотя у меня есть один вопрос .... когда я в первый раз захожу на свой сайт, он загружается в течение 8-10 секунд. Я предполагаю, что код компилируется в это время. Если я вернусь на сайт, он загрузится очень быстро. Однако, если я вернусь к нему на следующий день, он снова скомпилируется.

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

Спасибо за любой совет / понимание,

Andrew

Ответы [ 4 ]

2 голосов
/ 30 ноября 2009

почему он делает это снова на следующий день?

Из-за перезапуска приложения ASP.NET.

Возможные причины:

  • Пул приложений IIS настроен для перезапуска рабочего процесса.
  • Другое приложение касается (изменяет или, по крайней мере, просто переписывает) web.config.

Могу ли я в любом случае этого избежать?

Да.

  1. Отключить повторное использование пула приложений IIS.
  2. Убедитесь, что web.config не затронут никаким другим процессом. Обычно это противовирусные программы, но это довольно редкий случай. Так что 1-й вариант - это 99,9%.
  3. Прекомпилируйте приложение ASP.NET. Эти и , эти страницы объясняют, как.
0 голосов
/ 30 ноября 2009

Взгляните на жизненный цикл приложения ASP.NET:

IIS 5 & 6 - http://msdn.microsoft.com/en-us/library/ms178473.aspx

IIS 7 - http://msdn.microsoft.com/en-us/library/bb470252.aspx

0 голосов
/ 30 ноября 2009

Вы можете предварительно скомпилировать приложение, развернув его в VS Professional или используя командную строку asp.net compiler .

0 голосов
/ 30 ноября 2009

Вы перезагрузили свой компьютер? Каждый раз, когда IIS перезапускается, он должен будет снова скомпилировать ваш сайт. В противном случае это, вероятно, не перекомпиляция, это удар по диску, потому что код не находится в кеше.

Это не должно вызывать проблем при развертывании приложения, только при наличии настроек разработки.

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