У меня вопрос по компиляции asp.net. Я знаю разные способы компиляции, но мой вопрос касается метода по умолчанию.
Microsoft утверждает, что страницы и код компилируются при первом использовании, а затем кэшируются. У меня вопрос, когда этот кеш очищается ...
когда пул приложений перерабатывается? Или он кеширует его, пока он не изменится, даже после перезагрузки сервера. По сути, если он компилируется один раз, а затем кэширует его до тех пор, пока он не изменится, меня это устраивает ... если он перекомпилируется при каждой перезагрузке или повторном цикле пула приложений, я собираюсь пойти по пути предварительной компиляции.





Кеш очищается при завершении работы пула приложений, при каждом запуске пула приложений он повторно компилируется и кэшируется.
Всякий раз, когда вы что-то меняете в исходных файлах, происходит перекомпиляция.
При запуске (после выключения) он тоже перекомпилируется.
Изменение чего-либо в web.config перезагружает ваш Интернет
Таким образом, файлы создаются во временной папке, но не очищаются при завершении работы. Они будут перекомпилированы, только если что-то изменится. Поэтому, если вы перезапустите IIS или перезагрузите компьютер, они не будут перекомпилированы. Просто перезагрузите их из временной папки.
Изменения любого из файлов проекта или любых файлов, от которых зависит проект, вызовут перекомпиляцию.
Одно пояснение к этому: изменение внешних страниц ASPX (скажем, изменение класса CSS в GridView) не приведет к перекомпиляции, только если код, стоящий за изменениями файла, будет обновляться.