Глава.22 .Хостинг.CLR.и.домены.приложений
и начинает вызывать его методы. При этом вызываемые методы оказываются уже
преобразованными JIT-компилятором в машинный код, поэтому следующие кли-
ентские запросы обрабатываются намного быстрее.
Если клиент обращается с запросом к другому веб-приложению, ASP.NET за-
ставляет CLR создать новый домен. Обычно он создается в том же рабочем про-
цессе, в котором работают другие домены приложений. Это значит, что в одном
Windows-процессе может работать несколько веб-приложений, что повышает
производительность системы. В этом случае сборки для разных веб-приложений
загружаются в собственный домен каждого из них — это необходимо для изоляции
кода и объектов веб-приложения от других веб-приложений.
Замечательная особенность ASP.NET — возможность изменять код веб-сайта
без остановки веб-сервера. Когда файл на жестком диске сайта меняется, ASP.NET
обнаруживает это, выгружает домен, содержащий старую версию (после заверше-
ния текущего запроса), а затем создает новый домен, загружая в него новые версии
файлов. При этом ASP.NET использует особую функцию доменов, называемую
теневым копированием
(shadow copying).
Microsoft SQL Server
Microsoft SQL Server относится к неуправляемым приложениям, так как большая
часть кода SQL-сервера написана на неуправляемом языке C++. SQL-сервер под-
держивает создание хранимых процедур на управляемом коде. При первом получе-
нии запроса на выполнение хранимой процедуры на управляемом коде SQL-сервер
загружает CLR. Хранимые процедуры выполняются в собственном защищенном
домене, что не позволяет им нарушить работу сервера базы данных.
Это просто замечательная функциональность! Ведь разработчики могут выбирать
язык программирования для создания хранимых процедур. Хранимые процедуры
могут использовать в своем коде объекты с сильной типизацией. Кроме того, код
компилируется JIT-компилятором в машинный код и выполняется, а не интерпре-
тируется. Также разработчикам таких процедур доступны все типы, определенные
в библиотеке FCL или любой другой сборке. В результате разработка хранимых
процедур значительно упрощается, а приложения работают намного быстрее. Что
еще нужно программисту для счастья?
Будущее и мечты
В будущем в обычных «офисных» приложениях, таких как редакторы и электрон-
ные таблицы, пользователи смогут выбирать язык программирования для создания
макросов. Эти макросы обеспечат доступ к любым сборкам и типам, поддержи-
вающим CLR. Они будут компилироваться и поэтому быстро выполняться, и, что
самое важное, — выполняться в защищенном домене, избавляя пользователей от
многих неприятных неожиданностей.
Do'stlaringiz bilan baham: |