Предварительная компиляция во время публикации для веб-служб Azure.
-
21-12-2019 - |
Вопрос
Мы используем Веб-службы Azure (не веб-сайты) и запустите внутри него приложение ASP.Net MVC 5.1.
Когда я публикую веб-сайты с помощью веб-развертывания, у меня есть возможность «Предварительная компиляция во время публикации»:
Когда я публикую в веб-службах Azure, я нигде не могу найти эту опцию.Есть какие-нибудь указатели?
Идея состоит в том, чтобы предварительно скомпилировать представления, чтобы первое попадание в представление не ограничивалось временем компиляции на лету.
я посмотрел Бритвенный генератор но это не соответствует нашим потребностям.Я видел несколько других вариантов, но в нашем случае наиболее целесообразным является сбор мнений на этапе публикации.
УПД: Просто для справки: я попробовал то, что Дэвид Эббо предложил и это не работает.
Решение
Вызов компилятора %windir%\Microsoft.NET\Framework64\v4.0.30319\aspnet_compiler.exe -m /LM/W3SVC/1273337584/ROOT
из командной строки на сервере Azure, похоже, вызывает компиляцию.Временный корневой каталог ASP.Net содержит один каталог, размер которого увеличивается, а количество содержащихся в нем файлов увеличивается.Затем сайт перезапускается после компиляции.Производительность открытия первой страницы кажется намного лучше.
Если я запустил это в сценарии запуска, это не сработает, поскольку сайт недоступен.Я думаю, IIS не запустился.Глядя на то, чтобы сделать что-то вроде этого Лазурный:Как выполнить задачу запуска с задержкой?
Идентификатор сайта, похоже, не меняется для разных развертываний.Я думаю, можно было бы получить идентификатор сайта из IIS, а затем использовать его, если да.
Похоже, это так.Есть ли более элегантный способ?Не понимаю, почему компиляция и развертывание файлов представлений — такая утомительная работа.