Считается ли опция публикации в Visual Studio предварительной компиляцией для веб-приложений ASP.net? - PullRequest
1 голос
/ 18 марта 2011

У меня проблемы с пониманием, когда сайт считается "предварительно скомпилированным".Как я понимаю из прочитанного, если я использую опции Publish или Build Deployment Package из Visual Studio, то он прекомпилируется, но если я просто использую что-то вроде xcopy, то он не компилируется.Это правильно?

Ответы [ 2 ]

2 голосов
/ 18 марта 2011

Проекты ASP.NET WebSite имеют возможность развертывания xcopy, при котором все файлы, включая aspx, aspx.cs, ascx, ascx.cs и т. Д., Копируются на рабочий веб-сервер как есть.Среда выполнения ASP.NET компилирует сайт при получении первого запроса.Если вы проверите папку C: \ Windows \ Microsoft.NET \ Framework \ v \ Temporary ASP.NET Files, вы можете увидеть вывод.Это, очевидно, очень легко для развертывания, так как все, что нам нужно сделать, это скопировать файлы на веб-сервер.Тем не менее, первый посетитель платит цену с точки зрения того, когда сайт будет впервые скомпилирован.Опция публикации делает эту работу перед развертыванием.Он компилирует проект веб-сайта и производит сборки, готовые к запуску.В публикации есть возможность оставить файлы aspx без изменений, чтобы их можно было изменить.В обоих случаях файлы .cs отсутствуют, так как они были скомпилированы в сборки.Проверьте Пошаговое руководство: публикация веб-сайта для получения дополнительной информации.

HTH

1 голос
/ 18 марта 2011

Он «скомпилирован» в том смысле, что у вас будет MSIL DLL вашего веб-кода. Тем не менее, вам все равно придется иметь JIT-компиляцию. Вы должны использовать утилиту NGEN, если вы используете .NET 2.0 или выше, чтобы предотвратить это время прогрева. Обратите внимание, что NGEN полезен только для устранения времени первого запуска приложения. Это усложняет поддержку, потому что код JIT может не синхронизироваться с кодом NGEN. В моей корпоративной среде мы решили не использовать NGEN из-за этих потенциальных ловушек.

См. Ссылки ниже:

Помогает ли использование NGEN для приложений ASP.NET?

Документация Microsoft по утилите NGEN

Потенциальные ловушки использования NGEN

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