Модель компиляции ASP.NET

Платформа ASP. NET использует альтернативный подход к исполнению приложений, а именно компиляцию исходных файлов в бинарный исполняемый файл перед выполнением. В этом случае перед запуском приложения исходный файл преобразуется в исполняемый файл. Это позволяет отследить часть ошибок на этапе компиляции (например, синтаксические ошибки). Кроме того, в момент исполнения приложения не требуется выполнять проверку и разбор синтаксических конструкций языка, что увеличивает производительность таких приложений относительно интерпретируемых приложений.

Схема процесса компиляции страницы ASP. NET в программный код может выглядеть следующим образом.

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

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

Существует два варианта предкомпиляции веб-приложений:

предкомпиляция приложения с возможностью последующего обновления в этом случае исходный код разметки страниц (.aspx) остается в неизменном виде и при изменении этой страницы на сервере она перекомпилируется при первом обращении;
предкомпиляция приложения без возможности последующего обновления в этом случае все файлы компилируются в бинарные сборки и изменение страниц на веб-сервере невозможно.

Предкомпиляцию приложения можно выполнить двумя способами – с помощью Visual Studio и отдельной утилитой aspnet_compiler.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: