Как по-настоящему скомпилировать ASP.NET на месте?

У меня есть проблема, когда запуск моего сайта ASP.NET без предварительной компиляции вызывает больше, чем медленный начальный запуск - сервер фактически работает с памятью и SQL-соединениями, проходящими через крышу. Я думаю, что происходит то, что когда страницы на сайте компилируются динамически, ASP.NET достигает порога, когда он хочет перезапустить приложение, поэтому он запускает новый экземпляр, в то время как старый экземпляр останавливается, и я получаю несколько экземпляров мое приложение работает.

В любом случае, я могу предотвратить это, систематически посещая страницы своего сайта после развертывания, но это занимает довольно много времени. Поэтому я начал искать возможность компилировать весь сайт на месте с помощью aspnet_compiler.exe.

Но, похоже, это не так - я отслеживаю общее количество приложений / компиляций ASP.NET и вижу, что счетчик растет, когда я открываю страницы, независимо от того, запускал ли я aspnet_compiler.exe. Я получаю хороший вывод компилятора - кажется, он работает - но страницы, кажется, компилируются динамически, когда я все равно нажимаю на них.

Я изучил эти два обсуждения SO:

Предварительная компиляция ASP.NET на месте не работает как ожидается

Помогает ли использование NGEN?

и они оставили меня в замешательстве.

Итак, в чем смысл — должен ли я предварительно скомпилировать все на месте, чтобы счетчик производительности компиляции оставался на нуле, когда я открываю страницы?


person n8wrl    schedule 15.07.2015    source источник