Вход
Регистрация
Забыли пароль?
E-mail:
Пароль:
Модель компиляции АSР.NЕТ
- Каталог постоянно пополняется новыми статьями и вводятся новые возможности редактированя статей;
- Размещение статей бесплатное;
- Каждая страница со статьёй оптимизирована для поисковых машин;
- Реализована возможность редактирования статей с помощью встроенного редактора;
Предыдущие статьи из рубрики:
На главную
•
Производство программ (Веб-программирование)
•
Модель компиляции АSР.NЕТ
Модель компиляции АSР.NЕТ
6.02.2009
Автор:
Дино Эспозито
За небольшим исключением все файлы, необходимые исполняющей среде АSР.NЕТ, автоматически компилируются по требованию, то есть тогда, когда они в первый раз понадобятся приложению. Это базовый принцип программной модели АSР.NЕТ и ее модели компиляции. В АSР.NЕТ 1.x динамическая компиляция поддерживалась лишь для файлов некоторых типов, включая страницы АSР.NЕТ (*.аsрх), Web-сервисы АSР.NЕТ (*.аspх), обработчики НТТР (".аspх), файлы global.аsах и файлы классов. В частности, страницы АSР.NЕТ компилировались при первом обращении к ним, а файлы global.аsах — в тот момент, когда в первый раз запрашивалась любая страница приложения, причем перед компиляцией этой страницы. Страницы АSР.NЕТ состоят из файлов разметки и файлов кода. Код страниц не интерпретируется, как в классической технологии АSР, а компилируется, что способствует ускорению их загрузки. Еще одна особенность технологии АSР.NЕТ заключается в том, что компиляции подлежат также и файлы разметки. Компиляция выполняется в два этапа: сначала разметка конвертируется во временный класс С# или Microsoft Visual Basic .NЕТ, включаемый в иерархию классов АSР.NЕТ, а затем этот класс компилируется в сборку. Готовая сборка загружается в домен приложения (АррDomain), который служит хостом данного приложения.
Большей части этого процесса пользователь, направивший запрос, конечно же, не видит. Он разве что чувствует небольшую задержку, если первым запрашивает данную страницу. В случае если в запрошенный ресурс (скажем, файл .аsрх) будут внесены изменения, система автоматически обнаружит этот факт и перекомпилирует ресурс. Пользователь, который первым запросит его после изменения, опять-таки, может почувствовать небольшую задержку.
У такой модели есть два преимущества. Во-первых, ускоряется разработка приложения: стоит программисту дать команду Save, и внесенные в программный код изменения сразу же вступают в силу. Во-вторых, предоставляемые конечному пользователю страницы генерируются заранее откомпилированным кодом, а потому выдаются быстрее. Таким образом, в описанной модели простота тестирования, свойственная интерпретируемому коду, сочетается с устойчивостью и высокой производительностью, присущими коду откомпилированному.
В АSР.NЕТ 2.0 эта модель компиляции распространена и на другие типы файлов, такие как XSD, WSDL, ресурсы, темы и эталонные страницы. Кроме того, в АSР.NЕТ 2.0 реализована модель расширяемости, позволяющая дополнять стандартный список поддерживаемых типов файлов пользовательскими типами. В отличие от АSР.NЕТ 1.x модель АЗР.МЕТ 2.0 не требует явной компиляции, осуществляемой с использованием Microsoft Visual Studio .NЕТ. Вся работа по компиляции возложена на Web-сервер.
В этой главе я опишу внутреннюю структуру исполняющей среды АSР.NЕТ, покажу, как страница АSР.NЕТ превращается в класс, раскрою преимущества и недостатки предкомпиляции сайта и поясню, как можно настроить механизм компиляции и расширить его функции.
Из книги "ASP.NET 2.0 углубленное изучение" Дино Эспозито. Изд. Питер 2007.
Для нас важна Ваша оценка статьи:
0
+1
+2
+3
+4
+5