Мне поручено улучшить предварительную загрузку IIS и инициализацию приложений на нашем сервере. Я реализовал инициализацию приложения и предварительную загрузку приложения в IIS, но по-прежнему существует длительное время ожидания при перезапуске/перезапуске пула приложений. Я нашел несколько полезных ссылок, которые, как я думал, помогут мне, но я все еще не получаю предварительно скомпилированные представления Razor. Я пытался следовать этой статье для RazorGenerator, но, похоже, это не сработало. http://blog.davidebbo.com/2011/06/precompile-your-mvc-views-using.html
Шаги, которые я предпринял для статьи выше
1) установил расширение VS отсюда: https://marketplace.visualstudio.com/items?itemName=DavidEbbo.RazorGenerator
2) установлен пакет nuget RazorGenerator.Mvc
3) изменил вывод на «Нет» в представлениях бритвы и установил «Пользовательский инструмент» на «RazorGenerator», как описано в статье выше.
Я делаю очистку и перестроение, но не вижу файла .cs для моего файла cshtml.
Хорошо, тогда я думаю, что это не работает, давайте попробуем что-нибудь еще... Давайте просто попробуем предварительно скомпилированную функцию, которую Visual Studio предлагает из коробки, как предлагает ответ этого сообщения: Предварительная компиляция представлений razor в asp .net mvc 5, но по-прежнему нет предварительно скомпилированных файлов cshtml.
Что я хотел бы сделать, так это то, как я могу сгенерировать эти файлы заранее, чтобы IIS не приходилось этого делать. Это изображение файлов временного кэша IIS после перезапуска/перезапуска.
Это изображение после того, как браузер запросил приложение
И, наконец, в этой публикации я использовал предварительную компиляцию Visual Studio (для двух изображений выше), поэтому я также прикрепляю изображение с параметрами публикации.
Хорошо... теперь я думаю, что это невозможно, но затем найдите другое решение SO здесь: VS2013 не компилирует представления ASP.NET MVC5 , но опять же с этой публикацией я все еще не вижу скомпилированные версии файлов cshtml во временном кеше IIS для моего приложения. Есть ли надежное решение, которое кто-нибудь может предложить, которое фактически предварительно скомпилирует файлы cshtml в моем приложении, чтобы они не генерировались при первом запросе браузера? У меня даже есть инициализация приложения в моей веб-конфигурации и установленная необходимая функция IIS, и я даже вижу, что она запускает «поддельный» запрос к моему приложению, однако файлы cshtml не компилируются по этому «поддельному» запросу. Извините, если я приложил много информации, но похоже, что каждый вопрос, который я задаю здесь, я не предоставляю свой фактический вопрос ... = ( Надеюсь, этот вопрос служит своей цели. Спасибо!
ОБНОВИТЬ
В последней статье выше предлагается изменить файл csproj, поэтому я тоже попробовал это и прикрепил снимки экрана этого файла.
И действие внизу файла
Изменение «temp» на «/» также не помогает.
ОБНОВЛЕНИЕ 2
Итак, отлучившись от компьютера на выходные, я заметил сегодня утром, что у меня установлен флажок «Разрешить обновление предварительно скомпилированного сайта». После снятия этого значения я начал видеть предварительно скомпилированные представления в моей папке bin. Поэтому я публикую свое приложение, думая, что в лучшем случае я буду ждать 5-10 секунд, пока приложение будет обслужено (обычно после того, как оно было запрошено в первый раз, это занимает всего около 2 секунд), но это все равно занимает 25-30 секунд. Это ожидаемое поведение с IIS?