Подтвердить что ты не робот

Предварительная компиляция во время публикации для Azure Web Services

Мы используем Azure Web Services (а не веб-сайты) и запускаем приложение ASP.Net MVC 5.1 внутри него.

Когда я публикую веб-сайты через веб-развертывание, у меня есть опция "Прекомпиляция во время публикации":

enter image description here

Когда я публикую в Azure Web Services, я не могу найти эту опцию нигде. Любые указатели?

Идея состоит в том, чтобы предварительно скомпилировать представления, поэтому первое попадание в представление не будет наказываться штрафом путем компиляции "на лету".

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

UPD: Только для моей справки, я пробовал, что предложил Дэвид Эббо и он не работал.

4b9b3361

Ответ 1

Вызов компилятора %windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_compiler.exe -m /LM/W3SVC/1273337584/ROOT из командной строки на сервере Azure, похоже, вызывает компиляцию. Временный корневой каталог ASP.Net содержит один каталог, который увеличивает размер и количество файлов, содержащихся внутри. Затем сайт перезапускается после компиляции. Первая открытая производительность на первой странице выглядит намного лучше.

Если я запустил это при запуске script, он не работает, поскольку сайт недоступен. Я предполагаю, что IIS не запущен. Глядя на выполнение чего-то вроде Azure: как выполнить задачу запуска задержка?

Идентификатор сайта, похоже, не меняется для разных развертываний. Я предполагаю, что может получить идентификатор сайта из IIS, а затем использовать его, если это произойдет.

Так выглядит, как будто это делает. Есть ли более элегантный способ? Не понимаю, почему компиляция и развертывание файлов представлений является такой сложной задачей.